我有较旧的NB6.7,NB6.9,NB7.0,它们曾经在jdk1.6.0_21和jdk1.6.0_25上运行。 现在,我删除了那些JDK,只剩下了jdk1.6.0_26和jdk1.7.0,但是我仍然想保留旧的NB,但是现在当我运行它们时,我得到了以下消息:
"Cannot locate java installation in specified jdkhome C:\Program Files
(x86)\Java\jdk1.6.0_25
Do you want to try to use default version ?"
我试图找到它在寻找" 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?
感谢KasunBG的技巧,我在"建议"链接中找到了解决方案,更新了以下文件(用您的Netbeans版本替换7.x):
C:\Program Files
etBeans 7.x\etc
etbeans.conf
更改以下行以将其指向您的Java安装位置:
netbeans_jdkhome="C:\Program Files\Java\jdk1.7xxxxx"
您可能需要管理员权限才能编辑netbeans.conf
此解决方案适用于当前版本NB 7.3。
在用Ubuntus 13.04上的Android开发用Oracles Java替换OpenJDK之后,我遇到了这个问题。该文件位于usrlocalnetbeans-7.3etcnetbeans.conf中,我的调整行如下所示:netbeans_jdkhome="usrjavajdk1.7.0_21"
这一直对我有用,但是最近不起作用了,我无法找到除您之外的任何解释。偶然地,我想以管理员身份编辑该文件,但这确实具有正确的效果。 Windows 7 Enterprise和Windows 8 Pro以某种方式为我维护了此文件的两个版本(请参见superuser.com/q/680110/47313)
@asciimo为了完成操作,您甚至可以通过在~.netbeansversionetc下编写覆盖usrlocal...属性文件的netbeans.conf来基于用户自定义属性。 (我假设usrlocalnetbeans-7.3etc是您的发行版安装文件夹-我正在使用自定义文件夹中的手动安装版本进行开发,并且不能100%确定-。)
注意:从Netbeans 8开始,在C:\Users\You\AppData
oaming
etBeans\8.0\etc
etbeans.conf中也有一个netbeans.conf。
@OldCurmudgeon在我的情况下,当我手动创建文件时,您提到的文件和etc dir不存在,但是netbeans_jdkhome起作用了。谢谢!
与当前的NetBeans 8.0.1完美配合!
如该文件中的注释所述,您可以注释掉该行,以使启动器决定使用哪个版本。通常,这可以自动选择最新版本。
@OldCurmudgeon不适合我。
请注意以下建议:至少在Windows 7下,需要管理员权限才能编辑netbeans.conf。我尝试在没有管理员权限的情况下编辑文件,尽管该文件似乎可以正常工作,但显然Windows实际上将更新的文件保存为单独的副本,该副本仅可见通过Windows资源管理器给我。 NetBeans运行时,它将读取原始文件,该文件仍引用旧的JDK。 Windows方面的怪异而令人困惑的行为。
解决方案对于Netbeans 8.1仍然有效,在安装过程中错误地将jdk指向/ usr的目录更改为在我的fedora框上将指向的文件部分更改为/ usr / lib / jvm / java,并且它再次具有Java功能!
转到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。设置版本。
感谢您的提示,我在"建议"链接中找到了解决方案。
Netbeans 8.2中没有Java Platforms菜单项
对于不使用Windows的用户,要更改的文件为netbeans-8.0/etc/netbeans.conf
并且要更改的行是:
netbeans_jdkhome="/usr/lib/jvm/java-8-oracle"
注释掉旧值并插入新值
这对我使用Ubuntu 18.04和NetBeans IDE 8.2起作用。谢谢!
作为对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更新时,只需调整符号链接。
我也收到了此消息,因为今天我决定将不同的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"
您可能只想注释掉那一行。在这种情况下,Netbeans将在启动时搜索并找到最新版本。
它不能完全回答您的问题,但是为了解决问题,
您可以创建具有以下内容的.cmd文件:
start netbeans --jdkhome c:\path\to\jdk
或在Netbeans的快捷方式中设置以上选项。
所有其他答案都描述了如何显式指定java平台的位置,如果您确实要使用特定版本的java,这很好。但是,如果您只想使用最新版本的jdk,并且已将其安装在操作系统的"正常"位置,那么最好的解决方案是不指定jdk位置。而是让Netbeans启动器在每次启动时搜索jdk。
为此,请不要在命令行上指定jdkhome,而是在任何netbeans.conf文件中注释掉设置netbeans_jdkhome变量的行。 (有关在何处查找这些文件,请参阅其他答案。)
如果这样做,则在安装新版本的Java时,您的netbeans将自动使用它。在大多数情况下,这可能正是您想要的。
如果您已经在NetBeans中拥有一个项目,并且希望更改编译器(例如从1.7到1),那么您还需要更改该项目的Java源代码编译器。
右键单击项目,然后选择如下所示的属性:
然后检查项目是否在下面圈出了必要的来源:
然后检查该项目的Java编译器是否正确:
在Windows中打开cmd
转到您的netbeans下载的目录
然后在命令JDK路径下运行可能与我提到的路径不同
netbeans-8.2-windows.exe --javahome" C: Program Files Java jdk-9.0.1"
如果您在netbeans中现有的安装中遇到问题,可以在这里找到详细信息