使用 sbt 原生打包将 fat jar 打包成 debian
Posted
技术标签:
【中文标题】使用 sbt 原生打包将 fat jar 打包成 debian【英文标题】:Package fat jar into a debian using sbt native packaging 【发布时间】:2018-10-25 05:07:38 【问题描述】:在运行“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 中,添加了以下内容: 懒惰的 val root =(文件中的项目(“。”))。 enablePlugins(DebianPlugin)
【问题讨论】:
感谢您的提问。您能否添加更多信息:sbt、程序集和本机打包程序版本,build.sbt
编辑了问题,更新了 sbt、native-packager 和 build.sbt sn-p 的版本。
【参考方案1】:
我认为你在这里混淆了一些东西。 SBT native-packager 和 sbt-assembly 解决了相同的问题(创建可以部署的东西),但方式不同。
如何使用 native-packager 解决您的问题
查看installation section in the reader,其中指出:
enablePlugins(JavaAppPackacking)
这会将您的构建配置为创建 JVM 应用程序包。您现在可以运行sbt Debian:packageBin
。
sbt 汇编
您必须自己创建 debian 软件包。汇编只生成一个胖罐子。
干杯, 渚
【讨论】:
以上是关于使用 sbt 原生打包将 fat jar 打包成 debian的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SBT 原生打包器部署 Scala Play 框架 API
使用 SBT 将编译后的 Scala 文件打包到 jar 中