我有以下Scala的应用程序的设置和一个共同的核心库: 根如何从其他sbt项目引用外部sbt项目?
-> /ApplicationA
-> /project
-> /build.sbt
-> /CoreLibrary
-> /project
-> /build.sbt
我想从ApplicationA添加引用CoreLibrary点菜Eclipse项目的参考,让每一位CoreLibrary改变ApplicationA时间也建造。从来就试图build.Scala为ApplicationA以下内容:
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
这似乎完全是简单,这个项目依赖性的正确方法是什么?
第一种方法完美运作!谢谢!必须使用RootProject :) 第二种方法的问题是它们是2 github回购,所以为了让它们工作,您需要额外的一个在顶部或东西 – Diego 2012-07-25 16:28:21
@Diego请参阅git submodule以获得单独的git在单一外部git回购下回购。 – 2012-07-25 22:22:52
所谓的“正确的方式”是IMO的一个不好的解决方案。您不应该需要容器项目来声明两个兄弟之间的依赖关系。 – 2013-01-31 10:04:17