找不到 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
- 进入netbeans安装目录
- 查找配置文件[installation-directory]/etc/netbeans.conf
- 最后找到行 netbeans_jdkhome=...
- 使用'#'评论这一行
- 现在 运行 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 无处可寻。
当我看到包含 bin
和 jre
子目录的目录结构时,我希望这是 JDK 安装,因为 Windows 上的 JRE 安装看起来不同。但在这种情况下,它是 apt search
发现的 JRE 安装。安装 openjdk-8-jre 后,simlinks 被替换,目录结构保持不变。
我刚刚在 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_jdkhome="C:\Program Files\Java\..."
检查您的用户配置中的设置 /home/username/.netbeans/version/etc/netbeans.conf
我在全局指定位置时遇到问题,但我的用户设置覆盖了全局设置。
CentOS 7/Netbeans 8.1
- 进入netbeans安装目录
- 查找配置文件[installation-directory]/etc/netbeans.conf
- 最后找到行 netbeans_jdkhome=...
- 使用'#'评论这一行
- 现在 运行 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 无处可寻。
当我看到包含 bin
和 jre
子目录的目录结构时,我希望这是 JDK 安装,因为 Windows 上的 JRE 安装看起来不同。但在这种情况下,它是 apt search
发现的 JRE 安装。安装 openjdk-8-jre 后,simlinks 被替换,目录结构保持不变。