有没有可能,使用SBT对多模块使用平面目录结构?
也就是说,不是拥有:
- parent
|- child_a
|- child_b简单地拥有:
- parent
- child_a
- child_b我尝试了后者,并将父project/Build.scala配置为:
lazy val child_a = Project(id = "child_a",
base = file("../child_a"))但是在执行sbt命令时,比如sbt package,我得到了以下错误:
[error] java.lang.AssertionError: assertion failed: Directory D:\src\child_a is not contained in build root D:\src\parent发布于 2012-03-25 05:24:02
我认为这是不可能的。
发布于 2018-11-11 23:17:57
解决方案是ProjectRef。
Directory ... not contained in build root ...是Project -的问题,但不是的问题如果你切换到ProjectRef,它将会运行。如果在主项目的build.sbt中定义
lazy val root = (project in file ("."))
.aggregate(helper_library)
.dependsOn(helper_library)
lazy val helper_library = ProjectRef(file("../helper_library"), "helper_library")就目录结构而言,helper_library和主项目是兄弟关系--正如您在问题中所希望的那样--同时,主项目聚合到并依赖于helper_library。
https://stackoverflow.com/questions/9854066
复制相似问题