我有较旧的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?


当前回答

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

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

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

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

其他回答

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

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

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

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

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

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

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

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

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

进入工具*→Java平台。在那里,单击Add Platform并将其指向C:\Program Files (x86)\Java\ jdk1.6.0_25。您可以设置另一个JDK版本,也可以删除现有版本。

Oracle (Sun)网站上建议的另一个解决方案是,

netbeans.exe --jdkhome "C:\Program Files\jdk1.6.0_20"

我在6.9.1上尝试了这个。您也可以在每个项目中更改JDK。您需要通过Java平台对话框设置可用的jdk。然后,运行→设置项目配置→自定义。 之后,在打开的对话框中,转到菜单Build→Compile。设置版本。

对于非Windows操作系统,需要修改的文件为“netbeans-8.0/etc/netbeans.conf”。

要更改的行是:

netbeans_jdkhome="/usr/lib/jvm/java-8-oracle"

注释掉旧值并插入新值。