scala – sbt-native-packager可以为一个项目生成多个启动脚本吗
发布时间:2020-12-16 09:56:44 所属栏目:安全 来源:网络整理
导读:我目前正在使用 sbt-native-packager为我的scala应用程序生成启动脚本.我正在使用packageArchetype.java_application.我在sbt中创建脚本: sbt clean myproject/stage 然后通过将创建的lib和bin目录复制到安装目录来“安装”应用程序.我不是将它分发给任何人
我目前正在使用
sbt-native-packager为我的scala应用程序生成启动脚本.我正在使用packageArchetype.java_application.我在sbt中创建脚本:
sbt clean myproject/stage 然后通过将创建的lib和bin目录复制到安装目录来“安装”应用程序.我不是将它分发给任何人,所以我不是在创建一个可执行的jar或tarball或类似的东西.我只是编译我的类,并将我的jar和所有库依赖项jar放在一个地方,以便启动脚本可以执行. 现在我想在我的应用程序中添加第二个主类,所以我希望在运行sbt阶段时第二个启动脚本出现在target / universal / stage / bin中.我希望它将是相同的脚本,但具有不同的名称和app_mainclass设置为不同的类.我该怎么做? 解决方法
sbt-native-packager生成的脚本允许您传入-main参数以指定要运行的主类.这是我为一个名为foo的项目做的事情:
使用您想要调用sbt-native-packager生成的脚本的任何常用选项创建run.sh脚本: #!/bin/bash ./target/universal/stage/bin/foo -main "$@" 然后我为每个要运行的主类创建一个单独的脚本.例如first.sh: #!/bin/bash export JAVA_OPTS="-Xms512m -Xmx512m" ./run.sh com.example.FirstApp -- "$@" 和second.sh: #!/bin/bash export JAVA_OPTS="-Xms2048m -Xmx2048m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC" ./run.sh com.example.SecondApp -- "$@" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |