解决方案 1

解决方案 1

我正在尝试在 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 的路径。你的路径显然没有定义,所以让我们手动定义它:

  1. 打开终端
  2. 使用命令转到你的主目录cd
  3. 在此目录中查找名为“.zshrc”的文件:
you@yourmac ~ % ls .zshrc
.zshrc
  1. 如果它不存在,即如果命令ls .zshrc给出“没有此文件或目录”消息,则创建该文件:touch .zshrc
  2. 获取 Java 的路径并将其保存在某处:which java
  3. 打开新创建的文件(这是一个隐藏文件,因此你必须显示隐藏文件。或者,您也可以使用nano .zshrc)在命令行中编辑该文件
  4. 在文件末尾添加以下行:export JAVA_HOME="/Path/to/your/java/home"并将 /Path/to/your/java/home 替换为您在步骤 5 中获得的路径。
  5. 保存,关闭文件,重新启动笔记本电脑。

当您打开配置文件时,将自动读取此文件并执行其指令。 “export”指令创建一个环境变量。您可以使用 来验证它是否已成功创建echo $JAVA_HOME,echo 是显示某些内容的命令。变量前面的“$”告诉 echo 查找变量。

我希望这会有所帮助,但如果没有,请毫不犹豫地在这里分享错误消息和失败的步骤......

答案2

这对我有用:

$ brew reinstall adoptopenjdk8

并将其添加到.zshrc

export JAVA_HOME=$(/usr/bin/java)

然后运行

$ source ~/.zshrc

答案3

我发现这里的问题是定期运行与开发工具包相比(执行环境)。

理论上,没有最终用户应用程序需要 JDK(它应该是为开发人员准备的),但正如我们所见,在实践中情况并非如此……

还要注意,由于 Oracle 对 Java 实施了更严格的许可条款,你最好下载更开放的版本(“OpenJDK”),比如亚马逊的科雷托

答案4

我想我在另一个 java 应用程序中遇到了类似的问题我尝试运行的 java 应用程序使用 /usr/libexec/java_home 来设置 java home 因此即使我有 $JAVA_HOME 指向正在运行的 Java SDK 安装,该应用程序也拒绝运行。

因此,您可以尝试以下几个选项:

相关内容