SBT Compile for uber jar



使SBT项目在离线环境中起作用的最佳方法是什么?有任何方法可以将其编译在外部(网络环境中),例如,Uber Jar及其所有依赖性,然后在离线设备中刚运行?

例如,在Java Maven中,我们可以用Uber Jar和所有依赖关系进行编译,然后在离线env中仅java -jar MyJar.jar ...

谢谢。

创建Uber/Fat Jar的最佳选择是SBT组装插件。通过将以下内容放入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")

相关内容

  • 没有找到相关文章

最新更新