如何设置运行JDK的Netbeans?


213

我有较旧的NB6.7,NB6.9,NB7.0,它们曾经在jdk1.6.0_21和jdk1.6.0_25上运行。现在,我删除了那些JDK,只剩下了jdk1.6.0_26和jdk1.7.0,但是我仍然想保留旧的NB,但是现在当我运行它们时,我得到以下消息:

“无法在指定的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

Answers:


372

感谢KasunBG的技巧,我在“建议的”链接中找到了解决方案,更新了以下文件(用您的Netbeans版本替换7.x):

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

更改以下行以将其指向您的Java安装位置:

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

您可能需要管理员权限才能进行编辑 netbeans.conf


1
@asciimo为完成操作,您甚至可以通过编写覆盖属性文件的netbeans.confunder ~/.netbeans/version/etc来针对每个用户自定义/usr/local...属性。(我想/usr/local/netbeans-7.3/etc是您的发行版安装文件夹-我正在使用自定义文件夹中的手动安装版本进行开发,不能100%确定-。)
Alberto

3
注意:从Netbeans 8开始,在中也有一个netbeans.conf C:\Users\You\AppData\Roaming\NetBeans\8.0\etc\netbeans.conf
OldCurmudgeon 2014年

1
如该文件中的注释所述,您可以注释掉该行,以使启动器决定使用哪个版本。通常,这可以自动选择最新版本。
鲍勃

3
@OldCurmudgeon对我而言没有。
BadHorsie

1
请注意至少在Windows 7下需要管理员特权才能编辑netbeans.conf的建议。我尝试在没有管理员特权的情况下编辑该文件,尽管它似乎可以正常工作,但显然Windows实际上将更新的文件保存为单独的副本,该副本仅可见通过Windows资源管理器给我。NetBeans运行时,它将读取原始文件,该文件仍引用旧的JDK。Windows方面的怪异而令人困惑的行为。
凯文·拉赫

66

转到Tools-> Java Platforms。在那里,单击添加平台,将其指向 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 Platforms对话框设置可用的JDK 。然后,转到Run-> Set Project Configuration-> Customize。之后,在打开的对话框中转到Build-> Compile。设置版本。


2
Java PlatformsNetbeans 8.2中没有菜单项
andreszs 18-4-25的

33

对于不使用Windows的用户,要更改的文件是 netbeans-8.0/etc/netbeans.conf

并且要更改的行是:

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

注释掉旧值并插入新值


这对我使用Ubuntu 18.04和NetBeans IDE 8.2起作用。谢谢!
PinguinoSod

7

作为对Windows 7及更高版本上的您有用的解决方案-如果您使用:

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

您会得到一个Symbolic Link随时可以调整的文件夹,只要新的JDK出现即可。

然后,您需要做的就是设置您的

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

(在Netbeans 8的两个位置),您无需再次编辑配置。每次JDK更新时,只需调整符号链接。


6

我也收到了此消息,因为今天我决定将不同的jdk移到同一目录中。我决定通过window的程序管理器全部卸载。之后,我当然会收到以下消息。

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

全新安装的jdk无法解决问题。好的,您可以在菜单>工具> Java平台中进行配置,但就我而言,我必须修复netbeans.conf

我有下面的线

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

我将其替换为

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

1
您可能只想注释掉那一行。在这种情况下,Netbeans将在启动时搜索并找到最新版本。
邓肯

5

它不能完全回答您的问题,但是为了解决问题,

  1. 您可以创建具有以下内容的.cmd文件:

    start netbeans --jdkhome c:\path\to\jdk

  2. 或在Netbeans的快捷方式中设置以上选项。


1

所有其他答案都描述了如何显式指定java平台的位置,如果您确实要使用特定版本的java,则很好。但是,如果您只想使用最新版本的jdk,并且已将其安装在操作系统的“正常”位置,那么最好的解决方案是不指定jdk位置。而是让Netbeans启动器在每次启动时搜索jdk。

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

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


0

在Windows中打开cmd

转到您的netbeans下载的目录

然后在命令JDK路径下运行可能与我提到的路径不同

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

如果您在netbeans中现有的安装中遇到问题,可以在这里找到详细信息


0

如果您已经在NetBeans中拥有一个项目,并且希望更改编译器(例如从1.7到1),那么您还需要更改该项目的Java源编译器。

右键单击项目,然后选择如下所示的属性:

Java项目属性

然后检查项目是否在下面圈出了必要的来源:

项目源编译器

然后检查该项目的Java编译器是否正确:

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.