如何修复此.bat文件,使其可以在macOS中运行?

时间:2019-06-19 10:34:12

标签: java macos shell batch-file

我已经创建了这个.bat文件,并且可以在Windows中正常运行。当我尝试从macOS终端运行此文件时,它显示了一些错误。

我已经在Mac中安装了JRE。我还添加了:

JAVA_HOME=/Library/Java/Home
export JAVA_HOME;

到我的.profile文件。所有需要的jar都在.bat文件旁边的文件夹中。

这是.bat文件中的内容:

shell
"%JAVA_HOME%\bin\java.exe" -cp .;libs/*;api-security-generator-0.0.1-SNAPSHOT.jar jatis.avantrade.security.securitygenerator.Main

我尝试从上面的代码中删除'java.exe',但错误仍然出现。

我希望该.bat文件能够完美运行。

1 个答案:

答案 0 :(得分:2)

在Mac OS上设置JAVA_HOME时最好使用

export JAVA_HOME=$(/usr/libexec/java_home)

在您的~/.profile内部。您还可以使用-v选项来选择所需的任何版本。

要列出所有JVM安装,请致电:

/usr/libexec/java_home -V

选择其中之一,使用

export JAVA_HOME=$(/usr/libexec/java_home -v version)

然后,您可以像这样使用它

$JAVA_HOME/bin/java -cp .:libs/*:api-security-generator-0.0.1-SNAPSHOT.jar jatis.avantrade.security.securitygenerator.Main

将.BAT转换为.sh

您还可以创建这样的包装器脚本

#!/bin/bash
export JAVA_HOME=$(/usr/libexec/java_home)
$JAVA_HOME/bin/java -cp .:libs/*:api-security-generator-0.0.1-SNAPSHOT.jar jatis.avantrade.security.securitygenerator.Main

确保使其可执行

chmod +x script.sh

然后,您可以按照以下方式进行调用

./script.sh