Scala SBT本机打包程序SystemVLoader未生成SystemLoader脚本

Scala SBT本机打包程序SystemVLoader未生成SystemLoader脚本,scala,sbt,sbt-native-packager,Scala,Sbt,Sbt Native Packager,我有一个scala SBT项目,我在其中使用原生packager插件。我将绑定为JavaServerAppPackaging,并希望生成脚本,用于自动注册应用程序,以便使用rc.d脚本(Amazon Linux)启动和关闭。 在my plugins.sbt中: addSbtPlugin(“com.typesafe.sbt”%”sbt本机打包机“%”1.2.0-M5) In build.sbt 延迟val服务器= DefProject(“部分/服务器”、“服务器”) .设置(serverMo

我有一个scala SBT项目,我在其中使用原生packager插件。我将绑定为
JavaServerAppPackaging
,并希望生成脚本,用于自动注册应用程序,以便使用
rc.d
脚本(Amazon Linux)启动和关闭。 在my plugins.sbt中:

addSbtPlugin(“com.typesafe.sbt”%”sbt本机打包机“%”1.2.0-M5)

In build.sbt

延迟val服务器=
DefProject(“部分/服务器”、“服务器”)
.设置(serverModuleDeps)
.settings(ServerSettings.allSettings:u*)
.settings(CloudFormation.defaultSettings:u*)
.settings(通用模式下的服务器加载:=选项(ServerLoader.SystemV))
.设置(serviceAutostart:=true)
.设置(起始级别:=选项(“3”))
.设置(停止运行级别:=选项(“3”))
.设置(stackRegion:=“美国西部2”)
.settings(codedeployAWSCredentialsProvider:=选项(新配置文件凭据提供程序(“devcredentialsprovider”))
.dependsOn(sharedJvm)
.dependsOn(兰格)
.enablePlugins(JavaServerAppPackagin、SystemVPlugin)
.设置(daemonUser:=“ec2用户”)
.configure(InBrowserTesting.jvm)

当我运行
sbt stage
时,我可以看到一个
universal
文件夹,其中包含一个
bin
文件夹,其中包含一个sh和一个cmd文件以启动应用程序。但是,没有将应用程序注册/启动为系统服务的代码。是否需要任何额外的配置来让插件生成用于注册应用程序的脚本?我错过了什么


我创建了一个基本项目来演示这个问题:

您的配置是正确的。您的sbt命令不是:)

使用packageBin(IIRC触发的
universal:packageBin
)只生成一个通用zip文件。systemloader是操作系统特定的部件。这就是为什么它没有包含在通用拉链中

使用生成debian或rpm文件

debian:packageBin
rpm:packageBin
生成的deb或rpm包将包含systemloader文件,因为它们位于基于rpm/debian的系统所期望的位置


相关问题:

如果要创建debian包,应运行
debian:packageBin
命令。