加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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 -- "$@"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读