我正在尝试在 MacOS BigSur 11.2.3 上运行一个名为 Caver Analyst 的基于 Java 的程序
当我单击 Unix 可执行文件时,会弹出一个终端窗口,显示以下消息:
/Users/amir/Desktop/caver_analyst2/bin/caver_analyst ; exit;
The operation couldn’t be completed. Unable to locate a Java Runtime that supports (null).
Please visit http://www.java.com for information on installing Java.
The operation couldn’t be completed. Unable to locate a Java Runtime that supports (null).
Please visit http://www.java.com for information on installing Java.
Found jdkhome=
Cannot find java. Please use the --jdkhome switch.
我下载了最新的 Java 版本(15.0.2),并按照类似问题中的建议,将其路径添加到 .config 文件中,但是,没有任何作用。
谢谢您的帮助!
答案1
看来您缺少 Java 环境变量来使您的程序运行。
您可以尝试:
解决方案 1
尝试使用开关运行 caver_analyst --jdkhome
,然后按照错误消息中的建议输入有效 JDK 的路径(我猜)。这应该可以解决您的问题。
解决方案 2
通常,必须在 JAVA_HOME 环境变量中定义 Java 的路径。你的路径显然没有定义,所以让我们手动定义它:
- 打开终端
- 使用命令转到你的主目录
cd
- 在此目录中查找名为“.zshrc”的文件:
you@yourmac ~ % ls .zshrc
.zshrc
- 如果它不存在,即如果命令
ls .zshrc
给出“没有此文件或目录”消息,则创建该文件:touch .zshrc
- 获取 Java 的路径并将其保存在某处:
which java
- 打开新创建的文件(这是一个隐藏文件,因此你必须显示隐藏文件。或者,您也可以使用
nano .zshrc
)在命令行中编辑该文件 - 在文件末尾添加以下行:
export JAVA_HOME="/Path/to/your/java/home"
并将 /Path/to/your/java/home 替换为您在步骤 5 中获得的路径。 - 保存,关闭文件,重新启动笔记本电脑。
当您打开配置文件时,将自动读取此文件并执行其指令。 “export”指令创建一个环境变量。您可以使用 来验证它是否已成功创建echo $JAVA_HOME
,echo 是显示某些内容的命令。变量前面的“$”告诉 echo 查找变量。
我希望这会有所帮助,但如果没有,请毫不犹豫地在这里分享错误消息和失败的步骤......
答案2
这对我有用:
$ brew reinstall adoptopenjdk8
并将其添加到.zshrc
export JAVA_HOME=$(/usr/bin/java)
然后运行
$ source ~/.zshrc
答案3
答案4
我想我在另一个 java 应用程序中遇到了类似的问题我尝试运行的 java 应用程序使用 /usr/libexec/java_home 来设置 java home 因此即使我有 $JAVA_HOME 指向正在运行的 Java SDK 安装,该应用程序也拒绝运行。
因此,您可以尝试以下几个选项:
- 尝试按照以下说明安装 GraalVM:https://www.graalvm.org/docs/getting-started/macos/. 它告诉您如何与 /usr/libexec/java_home 集成
- 您可以使用 asdf 管理您的 java 安装(以及其它安装),并使用 asdf java 插件来启用 /usr/libexec/java_home 集成(您必须在安装 java 之前先启用,否则您需要在配置后重新安装):https://github.com/halcyon/asdf-java