【问题标题】:How do i fix this .bat file so it can run in macOS?如何修复此 .bat 文件以便它可以在 macOS 中运行?
【发布时间】:2019-06-19 10:34:12
【问题描述】:

我创建了这个 .bat 文件并在 Windows 中完美运行。当我尝试从 macOS 终端运行这个文件时,它显示了一些错误。

我已经在我的 Mac 中安装了 JRE。我还补充说:

JAVA_HOME=/Library/Java/Home
export JAVA_HOME;

到我的 .profile 文件。所需的所有 jars 也在 .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 macos shell batch-file


    【解决方案1】:

    在设置JAVA_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
    

    将 .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
    

    【讨论】:

    • 也许你应该为他添加一个 .sh 文件。因为这相当于蝙蝠。
    • 谢谢先试试这个,结果会公布
    • 这很好用!感谢 Oo.oO 和 @AlexandarPetrov
    猜你喜欢
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2023-03-09
    • 2014-12-02
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多