多项目sbt build - 将所有相关JAR打包在一个目录中

时间:2014-09-03 13:37:36

标签: scala sbt

我有一个多项目SBT构建:一些项目相互依赖,一些项目依赖于第三方JAR,并且有一个“主要”项目取决于所有内容。

当我sbt package时,我会在每个target/目录中获得一个JAR。

我想要实现的是让所有相关的JAR(我的和外部的)都是一个目录。与使用Maven打包WAR的方式非常相似。

(并澄清 - 我对包含单个文件中所有依赖项的汇编“FAT JAR”不感兴趣。只有一个目录中包含所有JAR)

2 个答案:

答案 0 :(得分:0)

我不是100%确定suprobject依赖项,但我认为SBT本机打包器应该可以帮助你做类似的事情,并且还会为windows和unix提供一个启动脚本:

http://www.scala-sbt.org/sbt-native-packager/GettingStartedApplications/MyFirstProject.html

答案 1 :(得分:0)

我建议使用sbt-pack创建自包含的JAR:

https://github.com/xerial/sbt-pack

我使用它并且到目前为止还没有看到一个小故障。

它还为您选择的主要类/对象生成OS X / Linux以及Windows .bat条目脚本。