【问题标题】:How can I set the JDK NetBeans runs on?如何设置 JDK NetBeans 在其上运行?
【发布时间】:2011-10-20 12:38:24
【问题描述】:

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


    【解决方案1】:

    感谢Kasun Gajasinghe's tip,我在“建议”链接中找到了解决方案。更新以下文件(将 7.x 替换为您的 NetBeans 版本):

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

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

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

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

    【讨论】:

    • @asciimo 为了完成,您甚至可以通过在~/.netbeans/version/etc 下编写netbeans.conf 来覆盖/usr/local... 属性文件,从而基于每个用户自定义属性。 (我假设/usr/local/netbeans-7.3/etc 是您的发行版安装文件夹——我正在使用自定义文件夹中的手动安装版本进行开发,并且不能 100% 确定——。)
    • 注意:从 Netbeans 8 开始,C:\Users\You\AppData\Roaming\NetBeans\8.0\etc\netbeans.conf 中还有一个 netbeans.conf。
    • 如该文件中的 cmets 中所述,您可以注释掉该行以让启动器决定使用哪个版本。这通常会自动选择最新版本。
    • @OldCurmudgeon 对我来说没有。
    • 请注意编辑 netbeans.conf 需要管理员权限的建议,至少在 Windows 7 下是这样。我尝试在没有管理员权限的情况下编辑文件,虽然它似乎可以工作,显然,Windows 实际上将更新的文件保存为单独的副本,我只能通过 Windows 资源管理器看到。当 NetBeans 运行时,它会读取 original 文件,该文件仍然引用旧的 JDK。 Windows 有多么奇怪和令人困惑的行为。
    【解决方案2】:

    转到工具* → Java 平台。在那里,点击添加平台并将其指向C:\Program Files (x86)\Java\jdk1.6.0_25。您可以设置另一个 JDK 版本或删除现有版本。

    Oracle (Sun) 网站上的另一个解决方案suggested 是,

    netbeans.exe --jdkhome "C:\Program Files\jdk1.6.0_20"
    

    我在 6.9.1 上试过这个。您也可以更改每个项目的 JDK。您需要通过 Java Platforms 对话框设置可用的 JDK。然后,转到运行设置项目配置自定义。 之后,在打开的对话框中,进入菜单BuildCompile。设置版本。

    【讨论】:

    • Netbeans 8.2 中没有Java Platforms 菜单项
    【解决方案3】:

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

    要更改的行是:

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

    注释掉旧值并插入新值。

    【讨论】:

    • 这对我使用 Ubuntu 18.04 和 NetBeans IDE 8.2 有效。谢谢!
    【解决方案4】:

    对于那些使用 Windows 7 及更高版本的人来说,这是一个更有用的解决方案 - 如果您使用

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

    您将获得一个 symbolic link 文件夹,可以在新 JDK 出现时对其进行调整。

    你需要做的就是设置你的

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

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

    【讨论】:

      【解决方案5】:

      我也收到了这条消息,因为今天我决定将不同的 JDK 重新定位到同一目录中。我决定通过Windows的程序管理器全部卸载。在那之后,我当然收到了下面的消息。

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

      新安装的 JDK 并不能解决问题。好的,您可以在菜单 ToolsJava 平台 中进行配置,但就我而言,我必须修复我的 netbeans.conf 文件。 p>

      我有下面这行:

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

      我将其替换为:

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

      【讨论】:

      • 您可能只想注释掉该行。在这种情况下,Netbeans 将在启动时搜索并查找最新版本。
      【解决方案6】:

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

      1. 您可以创建一个包含以下内容的 .cmd 文件:

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

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

      【讨论】:

        【解决方案7】:

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

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

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

        【讨论】:

          【解决方案8】:

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

          右键单击项目并选择 Properties,如下所述:

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

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

          【讨论】:

          【解决方案9】:

          在 Windows 中,打开 cmd

          转到下载 NetBeans 文件的目录。

          然后运行以下命令。 JDK路径可能和我说的路径不一样。

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

          如果您在现有的 NetBeans 安装中遇到问题,可以在 here 中找到详细信息。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-12-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-28
            相关资源
            最近更新 更多