java - 如何修复此 .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 文件。
解决方案
当涉及到设置JAVA_HOME
(在 macOS 上)时,最好使用
export JAVA_HOME=$(/usr/libexec/java_home)
在你的~/.profile
. 您还可以使用-v
option 选择您喜欢的任何版本。
要列出所有 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
推荐阅读
- android - HTTP 请求发布到 HTTP 正文是 JSON 字典的服务器
- c - 如何向 Windows KMDF 注册软件中断?
- c++ - MSVC++:模板的 static_assert 不会在 lambda 内触发
- javascript - 如何编写不会冻结网站 UI 的时间延迟?
- yeoman - YO - 意外令牌错误
- node.js - 刷新后快速路径丢失
- asp.net - 创建 zip 文件并使用 asp.net 下载它
- python - 正则表达式,仅获取带有以美元符号开头的项目的图像 URL
- javascript - 如何自定义数据表中的表格?
- ruby-on-rails - 合并多个搜索结果