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


当前回答

进入工具*→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操作系统下,打开cmd。

转到NetBeans文件下载的目录。

执行如下命令。JDK路径可能与我提到的路径不同。

netbeans-8.2-windows.exe --javahome "C:\Program Files\Java\jdk-9.0.1"

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

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

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

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

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

我也收到了这条消息,因为今天我决定将不同的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"

作为进一步有用的解决方案,对于那些使用Windows 7及以上版本的人-如果你使用

cd "C:\Program Files\Java"
mklink /D jdk8 jdk1.8.0_25

你会得到一个符号链接文件夹,可以在新JDK发布时进行调整。

你所需要做的就是设置你的

netbeans_jdkhome="C:\Program Files\Java\jdk8"

(在NetBeans 8的两个位置),您再也不必编辑配置。只要在每次更新JDK时调整符号链接即可。