Java 缺少JDK,需要它来运行某些NetBeans模块

Java 缺少JDK,需要它来运行某些NetBeans模块,java,netbeans,java-8,openjdk,jdk1.6,Java,Netbeans,Java 8,Openjdk,Jdk1.6,完整错误消息: 缺少JDK,需要它来运行某些NetBeans模块 请使用--jdkhome命令行选项指定JDK安装,或参阅以获取更多信息 一些细节:我第一次在LinuxMint上安装了Netbeans,当我启动它时,当它打开模块时,会出现此错误消息。但我确实安装了jdk $java-版本 java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) 64-Bit Serv

完整错误消息: 缺少JDK,需要它来运行某些NetBeans模块 请使用--jdkhome命令行选项指定JDK安装,或参阅以获取更多信息

一些细节:我第一次在LinuxMint上安装了Netbeans,当我启动它时,当它打开模块时,会出现此错误消息。但我确实安装了jdk

$java-版本

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
$javac-版本

javac 1.8.0_66

查找文件
[netbeans安装目录]/etc/netbeans.conf

幸运的是,Linux有一个
find
helper类
find/home/-name”netbeans.conf
, 您可以在其中将
/home/
更改为要搜索的位置

我在
/usr/local/netbeans-8.1/etc/netbeans.conf

找到文件后,需要设置以下属性:

netbeans_jdkhome="[jdk_path]"
在这里,您可以使用以下方法找到jdk_路径:

update-alternatives --config java
在我的例子中,我在
/opt/java/jdk1.8.0191
找到了它,这对我来说很有效

1. install full JDK
2. either edit <netbeans-IDE-installation>/etc/netbeans.conf
    2.1 unmark netbeans_jdkhome
    2.2 link to JDK location e.g. /usr/local/share/java/jdk1.6.0_07/ 
3. or use --jdkhome command-line option e.g. ./bin/netbeans --jdkhome /usr/local/share/java/jdk1.6.0_07/ 
1.安装完整的JDK
2.编辑/etc/netbeans.conf
2.1取消标记netbeans\u jdkhome
2.2链接到JDK位置,例如/usr/local/share/java/jdk1.6.0_07/
3.或者使用--jdkhome命令行选项,例如../bin/netbeans--jdkhome/usr/local/share/java/jdk1.6.007/
注意结尾的“/”


更多关于Mac OSX 10.11(El Capitan)的信息,请参见[已解决]。 对于其他基于Unix的系统,解决方案可能类似

问题可能是因为我无意中安装了jre 在安装jdk之前,我卸载了jre,安装了jdk 并重新安装了NetBeans,但问题(弹出窗口)仍然存在。 然而,修复相当简单

1. Make sure NetBeans is not running. 2. Make sure the jdk is installed. 3. Determine the location of the jdk: The jdk location can be determined by entering the following (in Terminal): $ /usr/libexec/java_home For my system, the output was: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home 4. Edit the NetBeans configuration file to indicate the location of the jdk. Near the bottom of this Netbeans configuration file (or equivalent for your NetBeans version): /Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf Comment out the following line (insert a # before the first character): #netbeans_jdkhome="/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/bin/jre" Then, add the following line (or equivalent for your jdk version): netbeans_jkdhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home" Then, save and exit the editor. 5. Start NetBeans (no more popup window indicating that the jdk is missing). 1.确保NetBeans未运行。 2.确保安装了jdk。 3.确定jdk的位置: 可通过输入以下内容(在终端中)确定jdk位置: $/usr/libexec/java\u home 对于我的系统,输出为: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home 4.编辑NetBeans配置文件以指示jdk的位置。 此Netbeans配置文件(或与您的Netbeans版本等效的配置文件)底部附近: /Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/NetBeans.conf 注释掉以下行(在第一个字符前插入#): #netbeans_jdkhome=“/Applications/netbeans/netbeans 8.2.app/Contents/Resources/netbeans/bin/jre” 然后,添加以下行(或jdk版本的等效行): netbeans_jkdhome=“/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home” 然后,保存并退出编辑器。 5.启动NetBeans(不再有显示jdk丢失的弹出窗口)。 Ubuntu 16.04 LTS:

  • 卸载您拥有的netbeans
  • 删除
    .cache/netbeans
    文件夹
  • 下载
  • 安装您的下载

  • 我有这个问题要解决。但是现在我喜欢编辑一行

  • 查找并打开此文件/etc/netbeans.conf
  • 如果看到netbeans\u jdkhome=“C:\Program Files\Java\jre1.8.0\u 151”替换netbeans\u jdkhome=“C:\Program Files\Java\jdk1.8.0\u 131”
  • 另存为管理员
  • 问题研究

  • 打开netbeans.conf
  • sudo nano”/usr/lib/jvm/java-8-oracle/netbeans.conf

  • 设置正确的sdk路径:
  • netbeans_jdkhome=“/usr/lib/jvm/java-8-oracle”

  • 退出Ctrl+X并保存更改Ctrl+T

  • 当netbeans在查找jdk路径时遇到问题,主要是因为jdk的版本不匹配。打开文件C:\Program Files\netbeans 8.2\etc\netbeans.conf,并验证netbeans\u jdkhome=“C:\Program Files\Java\jdk1.8.0\u 111“

    2019年4月中旬,Oracle更改了JDK的许可证。然而,我仍然能够在我的Windows机器上使用NetBeans 11和JDK 12的开源构建来解决这个问题。刚从下载了开源JDK并将其解压缩。然后,在我的NetBeans配置文件中,我输入了提取目录的路径(而不是“bin”文件夹!)。

    我通过使用以下命令将JRE和JDK的默认版本更改为11.x.x来解决此问题:

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    

    您已经安装了JRE,但是您(还)需要JDK来快速检查您是否有JDK,请尝试
    javac-version
    -Java编译器是JDK的一部分,不是JRE的一部分。将该命令结果添加到问题中检查文件etc/netbeans.conf,在安装netbeans的地方找到以
    netbeans\u jdkhome=
    开头的行是否指向正确的JDK目录?可能是这样。我卸载并安装了JDK附带的netbeans,它工作正常。。。无论如何,感谢Netbeans_jdkhome=应该是JDK的路径吗?在我使用开放JDK的系统上,路径是:/usr/lib/jvm/java-8-openjdk-amd64在Windows上,它位于Netbeans安装目录中,例如C:\Program Files\Netbeans 8.1\etcYes这是可行的。您还可以将其作为[netbeans_jdkhome=“/usr/lib/jvm/default java”]输入,其中[default java]是指向实际JDK目录的符号链接。这就是我为Ubuntu 16.04所做的。在使用netbeans 8.2的Ubuntu上,路径是~/netbeans for netbeans.conf和/usr/lib/jvm/java-8-openjdk-amd64/for JDKi dont think.cache文件夹与此相关,我只是在删除了。cache文件夹并重新安装netbeans后遇到了这个问题,还有macOS BigSur 11.0.1,非常感谢!!