Scala 相对模块引用

Scala 相对模块引用,scala,sbt,Scala,Sbt,我有多模块sbt(0.13.2)项目 foo并且每个子目录都有build.sbt 顶级文件只是一个聚合器: lazy val fooApi = Project("foo-api", file("foo-api")) lazy val fooWeb = Project("foo-web", file("foo-web")).dependsOn(fooApi) // ... lazy val foo = Project("foo", file(".")). aggregate(fooApi, f

我有多模块sbt(0.13.2)项目

foo
并且每个子目录都有
build.sbt

顶级文件只是一个聚合器:

lazy val fooApi = Project("foo-api", file("foo-api"))
lazy val fooWeb = Project("foo-web", file("foo-web")).dependsOn(fooApi)
// ...
lazy val foo = Project("foo", file(".")).
  aggregate(fooApi, fooWeb, ...)
现在我绝对需要(不是我的选择)能够独立于内部
foo-web
子目录编译
foo-web
,并且它仍然依赖于
foo-api

最后,我将以下片段添加到
fooweb/build.sbt

lazy val fooWeb = Project(id = "foo-web", base = file("."))
  .in(file("."))
  .dependsOn(Project("foo-api", file("../foo-api"))
它适用于
cd$root/foo web&&play compile
,但现在会中断
cd$root&&play compile
,因为相对路径是相对于执行目录的

无论在哪个目录中执行sbt命令,如何使用有效的相对路径引用项目

lazy val fooWeb = Project(id = "foo-web", base = file("."))
  .in(file("."))
  .dependsOn(Project("foo-api", file("../foo-api"))