显然项目依赖项没有打包到由:
生成的jar中sbt package
如何包含依赖项?
答案 0 :(得分:10)
好吧,我使用sbt-assembly
plugin来创建带依赖关系的jar,
(1)将sbt-assembly
添加到projects/assembly.sbt
echo 'addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.8")' > project/assembly.sbt
(2) 运行sbt clean assembly
来构建jar 。
它将在${name}-assembly-${version}.jar
target/scala-${scalaVersion}
(3)仅在您收到臭名昭着的重复数据删除错误的情况下,请按in here
所述使用assemblyMergeStrategy
答案 1 :(得分:6)
有一个名为onejar的项目,它将项目及其所有依赖项打包到一个jar文件中。还有一个SBT插件:
https://github.com/sbt/sbt-onejar
但是,如果你只是想创建一个标准包(deb,rpm等),那就有sbt-native-packager:
https://github.com/sbt/sbt-native-packager
它可以将所有依赖项放入Linux包中,并添加适当的包装器以加载所有依赖项并启动程序或服务。