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

Installing Netbeans 8.2 on MacOS Big Sur no JDK found

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

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

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

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

NetBeans IDE cannot be installed. Java (JRE) found on your computer but JDK 8 or newer is required. Please download and install the latest update of JDK 8 from http://www.oracle.com/technetwork/java/javase/downloads/index.html and restart NetBeans installation.

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)

Javac -version

javac 1.8.0_271

我目前的$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
  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>。退出终端并打开保存的文件。它现在应该可以工作了。

这对我有用: 从全新安装开始 Java。

sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/Java/JavaVirtualMachines
sudo rm -rf /Library/Application\ Support/Oracle/Java/
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane

重新启动计算机。

下载并安装 Java jdk-8u271-macosx-x64 重新启动计算机。

从 Appache Netbeans 下载并安装 NetBeans 12.1(抱歉,Netbeans 8.2 不再适用于我,尽管我一开始尝试过)。

打开 Netbeans,接受导入 Netbeans 8.2 首选项。 转到 Netbeans 菜单下的 Netbeans 首选项窗格。 单击 Java 图标,然后单击 Java Shell...等待 Netbeans 响应。接受任何对话框(我忘了,但出现了一些对话框)。 Netbeans 会抱怨 jdk 找不到;退出 Netbeans。 使用 bbedit 或类似工具打开文件 /Applications/NetBeans/NetBeans 12.1.app/Contents/Resources/NetBeans/etc/netbeans.conf。 查找并编辑此行:

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home"

保存文件。 打开 Netbeans;转到 Netbeans 菜单下的 Netbeans 首选项窗格。 单击 Java 图标,然后单击 Java Shell。它可能停留在空白方块。 关闭首选项面板;转到工具菜单:您会看到 Java 平台菜单,进入它。 好了,全部 Java 分期付款。

Hepoe 这有帮助。

我遇到了同样的问题。 我不需要重新启动计算机。 我只是更改了行:

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home"

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

/Applications/NetBeans/NetBeans\ 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

这对我有用

这只是 netbeans 的问题 jdk 主路径不用担心试试这个 -

第 1 步 - 打开终端

/usr/libexec/java_home

输出 - /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

复制此路径,因为您必须将其保存在 netbeans.conf

第 2 步 - 在终端中使用此

nano /Applications/NetBeans/NetBeans\ 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

搜索 netbeansjdkhome 并粘贴您在步骤 1 中复制的路径

最后应该是这样的-

netbeansjdkhome="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"

第 3 步 - 重新启动并打开 Netbeans 8.2,它现在可以正常工作了。

其实很简单!但是真的很难想通!

我会一步一步告诉它:

第 1 步:首先,您必须确保像这样设置 JAVA_HOME(取决于您安装的版本:

export JAVA_HOME=$(/usr/libexec/java_home -v "1.8.0_275")

如果您不确定安装的 jdk 版本,请执行以下操作:

/usr/libexec/java_home -V

第 2 步:好的,现在您必须从 apache 的网站下载您想要安装的任何 netbeans 版本。我需要 11.1.

第 3 步:打开 dmg 文件并将 pkg 文件复制到您的主目录(您可以使用 finder 或任何您想要的)。

第 4 步:在您的主目录上执行以下命令(确保将您的用户和 yourpkgfilename.pkg 替换为正确的信息):

/usr/bin/sudo -E -- /usr/bin/env LOGNAME=youruser USER=youruser USERNAME=youruser /usr/sbin/installer -pkg yourpkgfilename.pkg -target /

你应该得到这个输出:

installer: Package name is Apache NetBeans IDE 11.1
installer: Installing at base path /
installer: The install was successful.

PS:看,我现在已经注册了这个,只是为了确保能帮助这里遇到同样问题的每个人,如果真的能被选为正确的解决方案,我将不胜感激帮助你好吗?

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

运行 终端中的命令行:

brew install netbeans

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

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

修复该行为的一种方法是修补安装程序。可以这样操作:

假设 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 = 检查Java版本();

var java_result = true;

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

检查来确保一切正常

java-版本

  1. 让我们总结一下:

pkgutil --flatten /tmp/a ~/a.pkg

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