如何使sbt项目引用外部java源代码

时间:2011-02-10 02:38:31

标签: scala sbt

是否有人发布了如何在sbt项目中引用外部java源目录的代码示例?

如果我执行以下操作

override def mainSourceRoots = super.mainSourceRoots +++ externalsourcepath

sbt编译任务将正确查找并编译java源,但随后失败。例如

[info] Compilation successful.
java.lang.RuntimeException: Path /full/path/to/java/class/com/foo/bar/SomeClass.java not in .

2 个答案:

答案 0 :(得分:3)

SBT 0.9将支持外部子项目。在此之前,我建议将另一个构建到JAR,并将结果放入./lib

答案 1 :(得分:0)

如果Java项目使用Maven或Ivy,您可以在本地安装它们并在SBT项目中将它们声明为依赖项。如果您需要像Maven的reactor这样的东西,你可以在同一个超级项目中混合Java和Scala子模块,并同时按顺序编译它们,你可以尝试SBT Subprojects