SBT为超级罐编译
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SBT为超级罐编译相关的知识,希望对你有一定的参考价值。
使SBT项目在离线环境中工作的最佳方法是什么?有任何方法可以在外部(在网络环境中)编译它,例如具有所有依赖关系的超级jar,然后在离线环境中运行它吗?
例如在Java Maven中,我们可以使用具有所有依赖关系的超级jar编译它,然后在离线环境中只使用java -jar MyJar.jar
...
谢谢。
答案
制作超级/脂肪罐的最佳选择是sbt assembly plugin。通过在project/assembly.sbt
中添加以下内容,将其包含在您的项目中
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")
然后运行sbt assembly
应该创建一个包含target/scala_$SCALA_VERSION
中所有依赖项的jar。如果你想用java -jar
(而不是java -cp $jarfile $mainclass
)运行它,你可能需要为jar指定一个主类:
mainClass in assembly := Some("package.mainClass")
以上是关于SBT为超级罐编译的主要内容,如果未能解决你的问题,请参考以下文章