Sbt 多模块的平面目录结构?
SBT是否可以为多模块使用平面目录结构 也就是说,没有:Sbt 多模块的平面目录结构?,sbt,Sbt,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,我会遇到以下错误: [e
- 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
我认为这是不可能的。我认为这是不可能的。解决方案是
ProjectRef
目录。。。未包含在生成根目录中…
是Project
-的问题,但不适用于ProjectRef
。如果您切换到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\u库
和主项目是兄弟项目-正如您在问题中所希望的那样-同时,主项目聚合到并依赖于helper\u库
解决方案是ProjectRef
目录。。。未包含在生成根目录中…
是Project
-的问题,但不适用于ProjectRef
。如果您切换到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\u库
和主项目是兄弟项目-正如您在问题中所希望的那样-同时,主项目聚合到并依赖于helper\u库
右侧。您可以使用源依赖项,但它们的占用空间要大一些。对。您可以使用源依赖项,但它们占用的空间要大一些。