使用自定义命令行程序启动 jar

Launch jar with custom command line program

假设我在目录中有一些文件夹:

- MyApp
  - lib
    - myapp.jar

MyApp 目录的位置应该存储在环境变量中,如 APP_HOME。我想添加一个 bin 文件夹,其中包含两个启动 java 程序的命令行可执行文件,一个用于 Windows ,一个用于基于 Unix 的操作系统。我已经知道一个文件将被命名为 myapp 并用 chmod +x 修改,而 Windows 将被命名为 myapp.bat.

我不确定这些文件的内容是什么。如前所述,两者都会 运行 带有自定义命令行命令的 jar 文件,其参数传递给 main 方法,如下所示:

>myapp -debug key=value moreargs...

编辑:我将如何从Java代码创建这个环境变量?

您可以将命令行参数传递给可执行文件,方法是在 Unix shell 脚本的命令末尾添加 $*,并在 Windows 中添加 %*批处理文件:

java -jar $APP_HOME/lib/myapp.jar $*