作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Scala 应用程序和通用核心库进行了以下设置:根目录
-> /ApplicationA
-> /project
-> /build.sbt
-> /CoreLibrary
-> /project
-> /build.sbt
我想添加从 ApplicationA 到 CoreLibrary 的引用(类似于 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
但我认为正确的方法(这取决于你的上下文)是创建一个
-> /project/
-> Build.scala
-> /ApplicationA
-> /project
-> /build.sbt
-> /CoreLibrary
-> /project
-> /build.sbt
引用两个项目以及它们之间的依赖关系。
关于scala - 如何从另一个 sbt 项目引用外部 sbt 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11653435/
我是一名优秀的程序员,十分优秀!