在 MacOS Big Sur 上安装 Netbeans 8.2 找不到 JDK

Ale*_*lex 3 java macos netbeans macos-big-sur

我最近升级到 MacOS Big Sur,当尝试打开 NetBeans 8.2 时出现错误

缺少 JDK,需要运行某些 NetBeans 模块。请使用 --JDK home 命令行选项指定 JDK 安装

我尝试将 JAVA_HOME 设置为 JDK 路径,但没有用。因此,我卸载了 Netbeans 和 JDK,并重新下载了 Netbeans 8.2 和 JDK 8。

现在尝试设置 Netbeans 时,它显示:

无法安装 NetBeans IDE。在您的计算机上找到 Java (JRE),但需要 JDK 8 或更高版本。请从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载并安装最新的 JDK 8 更新,然后重新启动 NetBeans 安装。

Java 版本

java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
Run Code Online (Sandbox Code Playgroud)

Javac 版本

javac 1.8.0_271
Run Code Online (Sandbox Code Playgroud)

我当前的$JAVA_HOME设置为/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home

我还尝试使用 JDK 14 和 15 安装 NetBeans 11 和 12,但它给出了相同的错误

编辑:以下是唯一对我有用的解决方案。

/Applications/NetBeans/Apache\ NetBeans\ 12.1.app/Contents/Resources/NetBeans/netbeans/bin/netbeans --jdkhome /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
  1. 在终端上粘贴上述命令。它打开 NetBeans。要在不再次键入命令的情况下使用 NetBeans,请在代码编辑器上保存上述命令并另存为NetBeans.command文件。

  2. 然后打开文件。在提示消息上单击确定。在终端上输入以下命令。

    sudo passwd root

  3. 输入您的登录密码。

  4. 只需按Enter(您不必输入新密码)

  5. 键入su root并再次登录密码。

  6. 键入chmod +x <path of the file you saved with .command>。退出终端并打开保存的文件。它现在应该可以工作了。

小智 7

我有同样的问题。我不需要重新启动计算机。我只是改变了这一行:

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home"
Run Code Online (Sandbox Code Playgroud)

在文件 netbeans.conf 中,来自目录:

/Applications/NetBeans/NetBeans\ 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf
Run Code Online (Sandbox Code Playgroud)

这对我有用


小智 5

当我安装 Netbeans 时,我遇到了同样的问题。这对我有用:

在终端中运行此命令行:

酿造安装netbeans


Mar*_*rco 5

问题似乎是 /usr/libexec/java_home 在 BigSur 中似乎被破坏了(请参见此处: https: //developer.apple.com/forums/thread/666681)。

Netbeans 安装程序使用 /usr/libexec/java_home 检查 JDK 是否已安装,得到错误答案并因错误退出。

修复该行为的一种方法是修补安装程序。可以按如下方式完成:

假设 tmp 中没有名为“a”的目录:

  1. 打开 dmg,但不运行安装程序

  2. 在 shell 中输入以下命令:

pkgutil --expand /Volumes/NetBeans\ 8.2\ RC/NetBeans\ 8.2\ RC.pkg /tmp/a

(如果您的 Netbeans 安装程序具有不同的名称,请更改命令以反映安装程序的实际名称)

这将打开包,并将其内容复制到 /tmp/a 中。

  1. 编辑安装脚本。使用文本编辑器打开文件 /tmp/a/Distribution。

  2. 在第 13 行,替换:

var java_result = checkJavaVersion();

var java_result = true;

并保存文件。这将跳过对 Java 版本的检查。您有责任确保您的计算机上安装有 JDK 8 或以下版本,并且在使用 java 命令时使用此版本。您可以通过检查命令来确保一切正常

java版本

  1. 让我们总结一下:

pkgutil --展平 /tmp/a ~/a.pkg

此时,您的主目录中有一个名为 a.pkg 的包。双击它,Netbeans 安装程序将完成其工作。