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
但错误依然存在
我是否正确设置了 JAVA_HOME 变量?我怎样才能确保我设置了正确的位置?
如何安装 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.
好久没安装新机器了
我使用自制软件安装了 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
但错误依然存在
我是否正确设置了 JAVA_HOME 变量?我怎样才能确保我设置了正确的位置?
如何安装 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.