找不到 java。请使用 --jdkhome 开关

Cannot find java. Please use the --jdkhome switch

我刚刚在 CentOS 6.5 上安装了 Netbeans 8.0.2。

当我尝试 运行 它时,我收到消息

Cannot find java. Please use the --jdkhome switch

我有 /usr/share/java-1.7.0 所以我输入了

/usr/local/netbeans-8.0.2/bin/netbeans --jdkhome /usr/share/java-1.7.0

而且还有

Cannot find java. Please use the --jdkhome switch

我还有 /root/Downloads/jdk1.8.0_40 允许我安装 Netbeans。但是,当我输入

/usr/local/netbeans-8.0.2/bin/netbeans --jdkhome /root/Downloads/jdk1.8.0_40

我仍然得到

Cannot find java. Please use the --jdkhome switch

我试过了

whereis java

得到了

java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz

但是

/usr/local/netbeans-8.0.2/bin/netbeans --jdkhome /usr/bin/java

仍然生产

Cannot find java. Please use the --jdkhome switch.

我建议您在 netbeans.conf 配置文件:

中更改 NetBeans 使用的 JDK 配置
netbeans_jdkhome="C:\Program Files\Java\..."

检查您的用户配置中的设置 /home/username/.netbeans/version/etc/netbeans.conf

我在全局指定位置时遇到问题,但我的用户设置覆盖了全局设置。

CentOS 7/Netbeans 8.1

  1. 进入netbeans安装目录
  2. 查找配置文件[installation-directory]/etc/netbeans.conf
  3. 最后找到行 netbeans_jdkhome=...
  4. 使用'#'评论这一行
  5. 现在 运行 netbeans。 launcher 会找到 jdk 本身(来自 $JDK_HOME/$JAVA_HOME)环境变量

示例:

sudo vim /usr/local/netbeans-8.2/etc/netbeans.conf

NetBeans 8.2 - 无法在指定的 jdkhome 中找到 java 安装?

答案:编辑 netbeans.conf 文件。

关闭 NetBeans,以管理员身份启动记事本或其他文本编辑器。右键单击记事本应用程序并选择 "Run as administrator",然后用它打开 netbeans.conf。更改 netbeans_jdkhome=”C:\Program Files...随便什么”。

尝试Java SE Runtime Environment 8。它为我修复了它。

关注 MAC OS 用户


首先,请记住在 Mac 计算机中 netbeans.conf 文件存储在

/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

(如果您使用的是默认安装包。)

然后,还要记住 目录必须"netbeans_jdkhome" 或 "--jdkhome"NOT /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/ 但是下一个

/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home //<-- Please, notice the /Contents/Home at the end. That's the "trick"!

注意:当然,您必须更改您正在使用的 NetBeans 和 JDK 的版本。

对于 Netbeans 10,注释掉 .../etc/netbeans.conf 中的 netbeans_jdkhome 设置不再有效。需要根据32/64位指定正确的目录。

例如对于 64 位应用程序:netbeans_jdkhome="C:\Program Files\AdoptOpenJDK\jdk8u202-b08"

对我有用的是:

  • 确保 java 路径可用:
$ which java
/usr/bin/java
  • 然后在 etc/netbeans.conf 中确保 netbeans_jdkhome 被注释掉
  • 在 Finder 中转到 /bin/ 单击 netbeans(终端图标)

您希望 ./netbeans --jdkhome=/usr/bin/java 可以工作,但由于某些原因它没有。

如果你像我一样,在安装 jenv 后收到该消息, 只需将 netbeans_jdkhome="$JAVA_HOME" 添加到您的 [netbeans-installation-directory]/etc/netbeans.conf 文件

在我的例子中,我安装了 *ahem* OpenJDK,但是 bin 文件夹中充满了指向捆绑的 JRE 和实际 JDK 无处可寻。

当我看到包含 binjre 子目录的目录结构时,我希望这是 JDK 安装,因为 Windows 上的 JRE 安装看起来不同。但在这种情况下,它是 apt search 发现的 JRE 安装。安装 openjdk-8-jre 后,simlinks 被替换,目录结构保持不变。