Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复此.bat文件,使其可以在macOS中运行?_Java_Macos_Shell_Batch File - Fatal编程技术网

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

Java 如何修复此.bat文件,使其可以在macOS中运行?,java,macos,shell,batch-file,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

我创建了这个.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文件。

在设置
JAVA\u HOME
(在macOS上)时,最好使用

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
#!/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
将.BAT转到.sh

您还可以像这样创建一个包装器脚本

$JAVA_HOME/bin/java -cp .:libs/*:api-security-generator-0.0.1-SNAPSHOT.jar jatis.avantrade.security.securitygenerator.Main
#!/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

也许你应该为他添加一个.sh文件。因为这将是相当于蝙蝠。谢谢你,我要先试试这个,并将发布结果。这工作很好!感谢Oo.Oo和@AlexandarPetrov