scala - 使用 sbt 原生打包将 fat jar 打包成 debian
问题描述
在运行“sbt debian:packageBin”命令时,fakeroot 程序失败,因为它试图在 /target 目录而不是 /target/scala-2.11/ 目录中查找 fat jar(程序集)。
那么,是否有设置使用 sbt Debian 插件指定 debian 打包的源目录?
SBT 版本:0.13.11 在 plugins.sbt 中添加如下: addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.4")
在 build.sbt 中,添加了以下内容:lazy val root = (project in file("."))。enablePlugins(DebianPlugin)
解决方案
我想你在这里混合了一些东西。SBT native-packager 和 sbt-assembly 解决了相同的问题(创建可以部署的东西),但方式不同。
如何使用 native-packager 解决您的问题
查看阅读器中的安装部分,其中指出:
enablePlugins(JavaAppPackacking)
这会将您的构建配置为创建 JVM 应用程序包。您现在可以运行sbt Debian:packageBin
.
sbt 组装
您必须自己创建 debian 软件包。汇编只生成一个胖罐子。
干杯,穆基