我对 Scala 应用程序和通用核心库进行了以下设置:
根
-> /ApplicationA
-> /project
-> /build.sbt
-> /CoreLibrary
-> /project
-> /build.sbt
我想将 ApplicationA 的引用添加到 CoreLibrary à la Eclipse 项目引用,以便每次 CoreLibrary 更改时也会构建 ApplicationA。我已经尝试了 ApplicationA 的 build.Scala 的以下内容:
val core = Project(
id = "platform-core",
base = file("../CoreLibrary"))
val main = Project(id = "application, base = file(".")).dependsOn(core)
然而,在编译 ApplicationA 时,SBT 抱怨依赖项只能是子目录!!:
java.lang.AssertionError: assertion failed: Directory C:\git\CoreLibrary is not contained in build root C:\git\ApplicationA
这看起来非常简单,拥有此项目依赖关系的正确方法是什么?
您可以像这样对项目进行源依赖:
lazy val core = RootProject(file("../CoreLibrary"))
val main = Project(id = "application", base = file(".")).dependsOn(core)
我有一个多模块播放构建的工作示例:https://github.com/ahoy-jon/play2MultiModule/blob/master/playapp/project/Build.scala https://github.com/ahoy-jon/play2MultiModule/blob/master/playapp/project/Build.scala
但我认为正确的方法(这取决于你的上下文)是创建一个
-> /project/
-> Build.scala
-> /ApplicationA
-> /project
-> /build.sbt
-> /CoreLibrary
-> /project
-> /build.sbt
引用两个项目以及它们之间的依赖关系。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)