使用命令提示符/Terminal-Batch/Shell/Command文件启动Java可执行文件

使用命令提示符/Terminal-Batch/Shell/Command文件启动Java可执行文件,java,shell,batch-file,command,Java,Shell,Batch File,Command,我很好奇如何为用户提供一个批处理/shell/command文件来打开我的Java可执行jar文件 比如说, 启动windows.bat在windows机器上启动Java应用程序 launch linux.sh在linux机器上启动Java应用程序 launch mac.command在macOS机器上启动Java应用程序 这些文件将与JAR文件位于同一目录中 编辑: 我有这个工作的Windows PC,一个类似的问题是不工作的mac 批处理文件的内部仅产生以下结果: java-jar myJa

我很好奇如何为用户提供一个批处理/shell/command文件来打开我的Java可执行jar文件

比如说,

启动windows.bat
在windows机器上启动Java应用程序

launch linux.sh
在linux机器上启动Java应用程序

launch mac.command
在macOS机器上启动Java应用程序

这些文件将与JAR文件位于同一目录中

编辑: 我有这个工作的Windows PC,一个类似的问题是不工作的mac

批处理文件的内部仅产生以下结果:


java-jar myJar.jar

为应用程序的潜在用户编写启动脚本时。你不能对他们的环境配置做太多的假设。如果出现故障,您必须向用户提供一条错误消息,并说明问题所在

通常在这些脚本中,在执行应用程序之前会进行一些检查,以确保满足所有先决条件。对于java应用程序,您必须检查是否有java安装:)

Windows脚本,例如:

IF "%JAVA_HOME%"=="" (
        ECHO "ERROR: Java home is not set"
        EXIT /B
        )

"%JAVA_HOME%\bin\java" -jar myJar.jar
Shell脚本,例如:

IF "%JAVA_HOME%"=="" (
        ECHO "ERROR: Java home is not set"
        EXIT /B
        )

"%JAVA_HOME%\bin\java" -jar myJar.jar
if[-n`which java`];然后
回显“找到Java”
其他的
echo“找不到Java!”
出口1
fi
exec$JAVA_HOME/bin/JAVA-jar myJar.jar
使用
JAVA\u HOME
环境变量提供JAVA二进制文件的路径是一种标准。例如,Maven就使用它。 这些脚本确保配置了该变量,如果未提供该变量,将通知用户

以类似的方式检查执行应用程序的其他先决条件

顺便说一句,我没有使用mac的经验,但我认为shell脚本可以在那里工作