显然项目依赖项没有被打包到生成的jar中:
sbt package
Run Code Online (Sandbox Code Playgroud)
如何包含依赖项?
pra*_*upd 11
好吧,我使用sbt-assembly插件来创建带依赖关系的jar,
(1)添加sbt-assembly到projects/assembly.sbt
echo 'addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.8")' > project/assembly.sbt
Run Code Online (Sandbox Code Playgroud)
(2) 运行sbt clean assembly构建jar.这将创建${name}-assembly-${version}.jar在target/scala-${scalaVersion}
(3)只有在情况下,你会得到臭名昭著的去重复的错误,用assemblyMergeStrategy描述在这里
有一个名为onejar的项目,它将项目及其所有依赖项打包到一个jar文件中.还有一个SBT插件:
https://github.com/sbt/sbt-onejar
但是,如果您只是想创建一个标准包(deb,rpm等),那么有sbt-native-packager:
https://github.com/sbt/sbt-native-packager
它可以将所有依赖项放入Linux包中,并添加适当的包装器以加载所有依赖项并启动程序或服务.
| 归档时间: |
|
| 查看次数: |
10594 次 |
| 最近记录: |