我有较旧的NetBeans 6.7、NetBeans 6.9和NetBeans 7.0,它们过去在jdk1.6.0_21和jdk1.6.0_25上运行。现在我已经删除了这些jdk,只剩下jdk1.6.0_26和jdk1.7.0,但我仍然想保留旧版本的NetBeans,但现在当我运行它们时,我得到了这样的消息:

无法在指定的jdkhome C:\Program Files (x86)\Java\ jdk1.6.0_25中找到java安装 你想尝试使用默认版本吗?”

我试图找到它在哪里寻找“jdk1.6.0_25”,并更新了“C:\Program files (x86)\NetBeans 6.7”和“C:\Users\USER.nbi\registry.xml”中的一些配置文件,然而消息一直传来。我需要在哪里更改什么以指向C:\Program Files (x86)\Java\ jdk1.6.0_26?


当前回答

我也收到了这条消息,因为今天我决定将不同的JDK重新定位到同一个目录中。我已经决定通过Windows的程序管理器全部卸载。在那之后,我当然有下面的信息。

无法在指定的jdkhome C:\Program Files (x86)\Java\ jdk1.7.0_60中找到java安装。你想尝试使用默认版本吗?”

重新安装JDK并不能解决这个问题。好吧,你可以在Tools→Java平台菜单中配置,但在我的情况下,我必须修复我的netbeans.conf文件。

我写了下面这行:

netbeans_jdkhome="C:\Program Files\Java\jdk1.7.0_60"

我把它换成:

netbeans_jdkhome="C:\devtools\Java\jdk1.8.0_25"

其他回答

我也收到了这条消息,因为今天我决定将不同的JDK重新定位到同一个目录中。我已经决定通过Windows的程序管理器全部卸载。在那之后,我当然有下面的信息。

无法在指定的jdkhome C:\Program Files (x86)\Java\ jdk1.7.0_60中找到java安装。你想尝试使用默认版本吗?”

重新安装JDK并不能解决这个问题。好吧,你可以在Tools→Java平台菜单中配置,但在我的情况下,我必须修复我的netbeans.conf文件。

我写了下面这行:

netbeans_jdkhome="C:\Program Files\Java\jdk1.7.0_60"

我把它换成:

netbeans_jdkhome="C:\devtools\Java\jdk1.8.0_25"

感谢Kasun Gajasinghe的提示,我在“建议”链接中找到了解决方案。更新以下文件(替换7。使用NetBeans版本):

C:\Program Files\NetBeans 7.x\etc\netbeans.conf

更改下面的行以指向Java安装的位置:

netbeans_jdkhome="C:\Program Files\Java\jdk1.7xxxxx"

编辑netbeans.conf可能需要管理员权限。

所有其他答案都描述了如何显式地指定Java平台的位置,如果您确实希望使用特定版本的Java,那么这样做很好。但是,如果您只想使用最新版本的JDK,并且已经将其安装在操作系统的“正常”位置,那么最好的解决方案是不指定JDK位置。相反,让NetBeans启动器在每次启动时搜索JDK。

为此,不要在命令行中指定jdkhome,并注释掉任何netbeans.conf文件中设置netbeans_jdkhome变量的行。(在哪里可以找到这些文件,请参阅其他答案。)

如果您这样做,当您安装一个新版本的Java时,您的NetBeans安装将自动使用它。在大多数情况下,这可能正是你想要的。

如果你已经在NetBeans中有一个项目,你想要更改编译器(例如从1.7到1.),那么你还需要更改该项目的Java源编译器。

右键单击项目并选择Properties,如下所示:

然后检查项目是否有下面圈出的必要源代码:

然后检查Java编译器是否适合该项目:

这并不能完全回答你的问题,但为了解决这个问题,

你可以创建一个包含以下内容的.cmd文件: 启动netbeans——jdkhome c:\path\到\jdk 或在Netbeans快捷方式中设置上述选项。