首页 > 解决方案 > 如何修复此 .bat 文件以便它可以在 macOS 中运行?

问题描述

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

标签: javamacosshellbatch-file

解决方案


当涉及到设置JAVA_HOME(在 macOS 上)时,最好使用

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

在你的~/.profile. 您还可以使用-voption 选择您喜欢的任何版本。

要列出所有 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

推荐阅读