[英]In SBT, how to reference a subproject of another project?
在SBT中,可以直接依赖于另一个项目 。 这样做的好处是,在运行~compile
,对依赖项的更改将导致重新生成。
现在,我想依赖另一个项目的子项目,而不依赖于它的任何同级对象。 因此,例如,我有:
a/
build.sbt
b/
build.sbt
c/
build.sbt
d/
build.sbt
我希望d
依赖b
而不依赖c
。
我在d/build.sbt
尝试过
lazy val d = ProjectRef(file("../a"), "b")
lazy val root = project.dependsOn(d)
但这给
Note: Unresolved dependencies path:
com.foo:a_2.10:1.0
+- root:root_2.10:1.0
我当然可以
lazy val d = RootProject(file("../a/b"))
除了a/build.sbt
可能包含不会以这种方式获取的a/b
其他设置。 我需要一个引用,它将引用a/build.sbt
但也专门引用a/b
。
有什么办法可以做这种参考?
对我而言,这只是一个愚蠢的错误。
lazy val root = project
是不正确的。 该行代码在名为root/
的目录中创建一个子项目。 引用根项目的正确方法是:
lazy val root = Project(id = "root", base = file("."))
之后,
lazy val d = ProjectRef(file("../a"), "b")
lazy val root = Project(id = "root", base = file(".")).dependsOn(d)
可以正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.