我是为我的项目创建一个由许多应用程序组成的命令行界面。
我希望能够使用类似于以下内容的方式运行我的应用程序:
launch app --op val ... argument ...
我使用scopt编写另一个应用程序launch
,并接受命令app
以及一些选项和参数。
就我使用launch
执行sbt
应用程序而言,它按预期工作,这对我来说非常烦人。
我的问题是: 有没有其他方法可以使用类似上面所写的方式直接从终端运行应用程序。
修改1:
我将从sbt
迁移到gradle
答案 0 :(得分:2)
查看SBT assembly插件。它会自动创建一个包含所有依赖项的JAR文件。如果您定义mainClass
,那么它会创建一个可以使用java -jar <jarfile>
运行的可运行JAR。
如果您使用的是Linux(或可能是MacOS),那么可以将其设为prepend a shebang,这样可以直接执行生成的JAR文件。