我正在使用这个库来编写 cli 应用程序:https ://github.com/scopt/scopt
我只能使用以下命令在 sbt 中运行我的应用程序:
run --foo 2 -b 1
理想情况下,我想像这样在终端中运行我的应用程序:
myapp --foo 2 -b 1
或者这个脚本:
./myapp --foo 2 -b 1
我该怎么做?
我正在使用这个库来编写 cli 应用程序:https ://github.com/scopt/scopt
我只能使用以下命令在 sbt 中运行我的应用程序:
run --foo 2 -b 1
理想情况下,我想像这样在终端中运行我的应用程序:
myapp --foo 2 -b 1
或者这个脚本:
./myapp --foo 2 -b 1
我该怎么做?
您可以使用sbt-assembly创建一个 Fat jar,然后您可以像这样运行:
java -jar path/to/app.jar --foo 2 -b 1
您还可以使用sbt-native-packager为您的平台创建安装程序,运行安装程序后将有一个脚本PATH
允许您执行以下操作:
app --foo 2 -b 1
但是,在后台,这仍然在调用java -jar
如果您不想在目标平台上安装JRE,您可以使用sbt-native-image (在后台使用Graal)来创建应用程序的本机映像,可以像任何其他二进制文件一样运行。
./app --foo 2 -b 1