【问题标题】:The JDK is missing and is required to run some NetBeans modules缺少 JDK,需要运行某些 NetBeans 模块
【发布时间】:2015-11-16 20:55:24
【问题描述】:

完整的错误信息: 缺少 JDK,需要运行某些 NetBeans 模块 请使用 --jdkhome 命令行选项指定 JDK 安装或查看http://wiki.netbeans.org/FaqRunningOnJre 了解更多信息。

一些细节:我第一次在 Linux mint 上安装了 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 -version

javac 1.8.0_66

【问题讨论】:

  • 你已经安装了 JRE,但你(也)需要 JDK
  • 要快速检查您是否有 JDK,请尝试 javac -version - Java 编译器是 JDK 的一部分,而不是 JRE 的一部分。
  • 将该命令结果添加到问题中
  • 检查您安装netbeans的文件etc/netbeans.conf,找到以netbeans_jdkhome=开头的那一行是否指向正确的JDK目录?
  • 大概就是这样。我卸载并安装了 JDK 附带的 netbeans,它工作正常......无论如何,谢谢

标签: java netbeans java-8 openjdk jdk1.6


【解决方案1】:

找到文件[netbeans installation directory]/etc/netbeans.conf

幸运的是,Linux 有一个 find 帮助器,例如 find /home/ -name "netbeans.conf, 您可以在其中将/home/ 更改为您要搜索的位置。

我在/usr/local/netbeans-8.1/etc/netbeans.conf找到它

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

netbeans_jdkhome="[jdk_path]"

您可以在哪里找到 jdk_path 使用:

update-alternatives --config java

就我而言,我在/opt/java/jdk1.8.0_191找到它

【讨论】:

  • netbeans_jdkhome = 应该是JDK的路径?
  • 在我使用 open-jdk 的系统上,路径是:/usr/lib/jvm/java-8-openjdk-amd64
  • 在 Windows 上,它位于 Netbeans 安装目录中,例如C:\Program Files\NetBeans 8.1\etc
  • 是的,这行得通。您也可以将其输入为 [netbeans_jdkhome="/usr/lib/jvm/default-java"] 其中 [default-java] 是指向实际 JDK 目录的符号链接。这就是我为 Ubuntu 16.04 所做的。
  • 这有效,在带有 netbeans 8.2 的 Ubuntu 上,对于 netbeans.conf 和 /usr/lib/jvm/java-8-openjdk-amd64/ JDK 的路径是 ~/netbeans
【解决方案2】:

[已解决] Mac OSX 10.11 (El Capitan)。 对于其他基于 Unix 的系统,解决方案可能类似。

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

1. 确保 NetBeans 没有运行。 2. 确保安装了jdk。 3.确定jdk的位置: 可以通过输入以下内容(在终端中)来确定 jdk 位置: $ /usr/libexec/java_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 的窗口)。

【讨论】:

  • 它使用 netbeans 8.2 RC、JDK 1.8 和 macOS BigSur 11.0.1 非常感谢!!
【解决方案3】:

当netbeans尝试查找jdk的路径出现问题时,主要是jdk的版本不匹配。打开文件 C:\Program Files\NetBeans 8.2\etc\netbeans.conf,并验证 netbeans_jdkhome = "C:\Program Files\Java\jdk1.8.0_111"。

【讨论】:

    【解决方案4】:
    1. 打开 netbeans.conf

    sudo nano "/usr/lib/jvm/java-8-oracle/netbeans.conf"

    1. 设置正确的 sdk 路径:

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

    1. 退出 Ctrl + X 并保存更改 Ctrl + T

    【讨论】:

      【解决方案5】:

      这对我有用

      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/ 
      

      注意末尾的“/”

      更多信息http://wiki.netbeans.org/FaqRunningOnJre

      【讨论】:

        【解决方案6】:

        Ubuntu 16.04 LTS:

        1. 卸载您拥有的 netbeans。
        2. 删除.cache/netbeans文件夹
        3. 下载http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html
        4. 安装下载

        【讨论】:

        • 我不认为 .cache 文件夹与此相关,我只是在删除 .cache 文件夹并重新安装 netbeans 后遇到此问题
        【解决方案7】:

        我有这个问题。但现在我通过编辑一行来解决这个问题。

        1. 找到并打开此文件 /etc/netbeans.conf
        2. 如果您看到 netbeans_jdkhome="C:\Program Files\Java\jre1.8.0_151" 替换 netbeans_jdkhome="C:\Program Files\Java\jdk1.8.0_131"
        3. 另存为管理员

        问题已解决

        【讨论】:

          【解决方案8】:

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

          【讨论】:

            【解决方案9】:

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

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

            【讨论】:

              【解决方案10】:

              当我将 Mac 更新到 Mojave 时出现此错误。为了解决这个问题,我使用终端编辑了带有当前 jdk 的 netbeans.conf 文件,以找到正确的 jdk。类型 /usr/libexec/java_home -V

              这是我的输出。

              Matching Java Virtual Machines (4):
                  1.8.311.11 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
                  1.8.0_131 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
                  1.8.0_25 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
                  1.7.0_79 (x86_64) "Oracle Corporation" - "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
              /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
              

              输入列出的第一个 jdk 不起作用。 我用列出的第二个编辑了 conf 文件: netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"

              重新启动 Netbeans。这样就解决了。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2023-04-06
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-05-03
                • 2018-12-30
                • 1970-01-01
                相关资源
                最近更新 更多