如何使用sbt-native-packager创建Upstart Zip软件包?

时间:2018-09-23 05:40:21

标签: scala sbt upstart sbt-native-packager

我无法生成新贵的zip软件包。 我已经在我的sbt项目中添加了以下内容

...
enablePlugins(UpstartPlugin).
enablePlugins(JavaServerAppPackaging)

然后运行

sbt clean universal:packageBin

生成了一个Zip文件,但是它包含./bin中的shell脚本和./lib中的jar,看起来像我使用JavaAppPackaging时生成的jar!

upstart所需的conf文件等在哪里? 我是否想念秘密酱料或使用错误的咒语?

阅读this page上的所有文档,我的印象是原型插件确定了我包装中的内容,而格式插件确定了包装所采用的形式。

例如,我可以有一个Java Server项目,该项目被设计为使用JavaServerAppPackaging(原型)并添加daemonUser设置以守护程序用户身份运行,但随后将其捆绑为使用通用(格式)插件的Zip或Tar.gz或使用Debian(格式)插件的.deb文件。

好吧,我想要一个Java服务,其中包含必须由upstart系统加载程序启动但打包为Zip文件的所有文件。因此,我假设我需要带有upstart(格式)插件的universal(原型系统加载器)插件。

在系统加载器文档中甚至有关于新贵插件的提示

  

您可以将系统加载程序与Java应用程序原型或Java服务器应用程序原型一起使用!

好吧,我确实想要 ,但是它没有说明如何做!

请有人告诉我如何获得具有新贵布局的zip捆绑包,以启动Java Server应用程序吗?而且,如果您能指出我显然错过的文档,那也将有助于我的理解:-)

欢呼

卡尔

1 个答案:

答案 0 :(得分:0)

非常感谢您仔细准备了文档,对于文档缺乏解释哪些软件包类型支持系统加载程序的文档感到遗憾。

简单的答案是:仅rpmdebian软件包支持系统加载程序(systemd,systemV和upstart)。

为什么会这样?系统加载程序与目标操作系统紧密相关。没什么通用,这就是它不在其中的原因。配置文件和/或脚本和平台相关,并且这不是常规应用程序目录的一部分。

干杯, 姆基