scala - 如何使用 sbt-native-packager 创建 Upstart Zip 包?
问题描述
我无法生成新贵 zip 包。我已将以下内容添加到我的 sbt 项目中
...
enablePlugins(UpstartPlugin).
enablePlugins(JavaServerAppPackaging)
然后运行
sbt clean universal:packageBin
并生成了一个 Zip 文件,但其中包含 shell 脚本,./bin
其中的 jar./lib
看起来就像我使用时生成的一样JavaAppPackaging
!
需要的conf文件等在哪里upstart
?我是否错过了秘方或使用了错误的咒语?
阅读此页面上的所有文档,我的印象是原型插件决定了我的包中的内容,而格式插件决定了包的形式。
因此,例如,我可以有一个 Java Server 项目,该项目旨在使用JavaServerAppPackaging
(archetype) 作为守护程序用户启动并添加daemonUser
设置,然后使用 Universal (format) 插件将其捆绑为 Zip 或 Tar.gz或使用 Debian(格式)插件的 .deb 文件。
好吧,我想要一个 Java 服务,其中包含使用upstart
System Loader 启动但打包为 Zip 文件所需的所有文件。所以我假设我需要带有通用(格式)插件的新贵(原型系统加载器)插件。
甚至在系统加载器文档上也有关于暴发户插件的提示说
您可以将系统加载器与 Java 应用程序原型或 Java 服务器应用程序原型一起使用!
嗯,这正是我想要的,但它并没有说明如何去做!
请有人能告诉我如何获得一个带有启动 Java Server 应用程序的新贵布局的 zip 包吗?如果您能指出我明显错过的文档,那也将有助于我的理解:-)
干杯
卡尔
解决方案
感谢您如此仔细地准备文档,很抱歉文档缺少说明哪些包类型支持系统加载程序。
简短的回答是:只有rpm
和debian
包支持系统加载器(systemd、systemV 和 upstart)。
为什么呢?系统加载程序与目标操作系统紧密相关。它不是通用的,这就是它不在其中的原因。配置文件和/或脚本和平台相关,这不是您常规应用程序目录的一部分。
干杯,穆基
推荐阅读
- sql - SQL Server 查询 - 不希望多行具有相同的数据
- android - Android 无法加载 vlcjni 库 (libVLC)
- c# - 如何改进此 LINQ 查询?
- java - 在 Java 示例中使用“For 循环”
- c++ - 所有编译器:禁用某些标头的警告
- api - Java 中 stream.max(Comparator) 和 stream.collect(Collectors.maxBy(Comparator) 的区别
- regex - 使用 REGEX 提取部分字符串
- javascript - Javascript 问题 - 在 document.getElementById 之后无法提交表单
- postgresql - 允许空值与 Postgres 关联
- javascript - 我如何测试(开玩笑)以期待回报?