【发布时间】:2015-04-22 19:08:23
【问题描述】:
我有一个sample Play 2.3.8 project,它由两个子项目(common 和 common2)组成:
$ tree -L 2 .
.
├── build.sbt
├── common
│ ├── app
│ ├── build.sbt
│ ├── conf
├── common2
│ ├── app
│ ├── build.sbt
│ ├── conf
├── conf
│ (...)
├── build.sbt
在主要的build.sbt 中,对这两个子项目的依赖定义为:
lazy val common = (project in file("common")).enablePlugins(PlayJava)
lazy val common2 = (project in file("common2")).enablePlugins(PlayJava)
lazy val main = (project in file(".")).enablePlugins(PlayJava)
.aggregate(common, common2).dependsOn(common, common2)
这按预期工作。现在我试图让这个项目使用 sbt 0.13.7(目前它使用 0.13.5),当我启动激活器时,我总是会收到这样的错误(Test 是我项目的根):
[info] Done updating.
java.lang.RuntimeException: No project 'common' in 'file:/home/user/Desktop/Test/'.
Valid project IDs: main
at scala.sys.package$.error(package.scala:27)
// OMITTED
at xsbt.boot.Boot.main(Boot.scala)
[error] No project 'common' in 'file:/home/user/Desktop/Test/'.
[error] Valid project IDs: main
[error] Use 'last' for the full log.
那么可能是什么问题?定义子项目的方式是否改变了?我查看了从 0.13.5 到 0.13.7 的 changes 并找不到与此相关的任何内容...
【问题讨论】:
-
只是检查,但你已经运行
clean对吗? -
是的,我做到了(将 sbt 设置为 0.13.5 -> clean -> 将 sbt 设置为 0.13.7)。问题出在 sbt 方面(我什至无法加载项目,所以我无法运行
update、compile等)。此外,这只发生在子项目设置中
标签: playframework sbt