Netbeans 无法定位 java

Netbeans unable to locate java

好久没安装新机器了

我使用自制软件安装了 java:

brew install openjdk

在我的 .zshrc 文件中,我添加了:

export PATH="/usr/local/opt/openjdk/bin:$PATH"

运行 'java -version' 给出以下输出:

openjdk version "18.0.1.1" 2022-04-22 OpenJDK Runtime Environment Homebrew (build 18.0.1.1+0) OpenJDK 64-Bit Server VM Homebrew (build 18.0.1.1+0, mixed mode, sharing)

当我尝试 运行 netbeans 13 安装程序包时,我收到以下消息:

No Java Found NetBeans IDE cannot be installed. This software can be installed with Java 8 or newer. Please download and install the latest update of Java 8 from http://www.oracle.com/technetwork/java/javase/downloads/index.html and restart NetBeans installation.

我想也许我需要设置 java home 变量。但不确定正确的位置在哪里。我试过了:

export JAVA_HOME=/usr/local/Cellar/openjdk/18.0.1.1/libexec/openjdk.jdk/Contents/Home

但错误依然存在

  1. 我是否正确设置了 JAVA_HOME 变量?我怎样才能确保我设置了正确的位置?

  2. 如何安装 Netbeans 安装程序?为什么它看不到 JDK?

编辑:

如果我运行以下命令:

/usr/libexec/java_home

然后我得到输出:

The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java.

这是因为我通过homebrew安装了java,最后没有看到这个信息输出:

For the system Java wrappers to find this JDK, symlink it with sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

运行 上面的命令创建符号链接,然后 netbeans 安装继续。没有必要设置路径或主页。设置 cpp 标志,因为 cpp 很酷。

即使对于 11 等其他版本,也可能需要 运行 类似的命令。 Homebrew 提到了它,但除非你注意,否则在安装结束时可能不会注意到它。

我怀疑问题是NetBeans 13安装程序不支持使用JDK18,因为NetBeans 13本身官方不支持JDK 18. From the Release Notes(我加了重点):

The Apache NetBeans 13 binary releases require JDK 11+, and officially support running on JDK 11 and JDK 17.

另外,请注意:

  • NetBeans 13 于 2022 年 3 月 4 日发布。
  • JDK 18 天后的 2022 年 3 月 22 日发布了 18。

因此,虽然 NetBeans 13 似乎 运行 与 JDK 18 兼容,但安装程序似乎可能不支持使用 JDK 18,后者甚至不支持安装程序发布时存在。不幸的是,当您尝试这样做时,安装程​​序会提供一条非常糟糕的错误消息:

No Java Found NetBeans IDE cannot be installed. This software can be installed with Java 8 or newer. Please download and install the latest update of Java 8 from http://www.oracle.com/technetwork/java/javase/downloads/index.html and restart NetBeans installation.

安装程序的错误消息具有高度误导性,原因有二:

  • 而不是 “没有 Java 找到” 如果错误是 “Java 没有支持的版本,它会更准确发现.
  • 建议 “请下载并安装 Java 8 的最新更新” 毫无意义,因为 NetBeans 13 甚至不支持使用 JDK 8.

所以这看起来像是 NetBeans 安装程序的问题,而不是 NetBeans 或 Java18。您有几个解决方法:

  • 运行 安装程序使用 JDK 17 而不是 JDK 18。安装 NetBeans 并在 JDK 17 上 运行ning 后,您可以然后添加 JDK 18 作为第二个 Java 平台,或编辑 netbeans.conf 以便 NetBeans 使用 JDK 18 而不是 JDK 17 重启后。
  • 根本不要使用安装程序。相反,just download the zip of NetBeans named netbeans-13-bin.zip,解压缩,然后编辑 netbeans.conf,这样 NetBeans 将使用 JDK 18.