使用自定义命令行程序启动 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 $*
假设我在目录中有一些文件夹:
- 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 $*