[英]No JDK found installing Apache NetBeans IDE on MacOS Big Sur
[英]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。 在您的计算机上找到 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)
Javac 版本
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
在终端上粘贴上述命令。 它打开 NetBeans。 要在不再次键入命令的情况下使用 NetBeans,请在代码编辑器上保存上述命令并另存为NetBeans.command
文件。
然后打开文件。 在提示消息上单击确定。 在终端上输入以下命令。
sudo passwd root
输入您的登录密码。
只需按Enter (您不必输入新密码)
再次输入su root
和您的登录密码。
输入chmod +x <path of the file you saved with .command>
。 退出终端并打开保存的文件。 它现在应该可以工作了。
我有同样的问题。 我不需要重新启动计算机。 我只是改变了这一行:
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 时,我遇到了同样的问题。 这对我有用:
在终端中运行此命令行:
酿造安装netbeans
这对我有用:从全新安装启动 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 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 并粘贴您在 STEP 1 中复制的路径
最后它应该是这样的——
netbeansjdkhome="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
第 3 步 - 重新启动并打开 Netbeans 8.2,它现在可以正常工作了。
问题似乎在于 BigSur 中的 /usr/libexec/java_home 似乎已损坏(请参阅此处: https : //developer.apple.com/forums/thread/666681 )。
Netbeans 安装程序使用 /usr/libexec/java_home 检查 JDK 是否安装,得到错误答案并退出并显示错误。
修复该行为的一种方法是修补安装程序。 可以按如下方式完成:
假设 tmp 中没有名为“a”的目录:
打开 dmg,但不要运行安装程序
在 shell 中给出以下命令:
pkgutil --expand /Volumes/NetBeans\\ 8.2\\ RC/NetBeans\\ 8.2\\ RC.pkg /tmp/a
(如果您的 Netbeans 安装程序具有不同的名称,请更改命令以反映安装程序的实际名称)
这将打开包,并将其内容复制到 /tmp/a 中。
编辑安装脚本。 使用文本编辑器打开文件 /tmp/a/Distribution。
在第 13 行,替换:
var java_result = checkJavaVersion();
和
var java_result = true;
并保存文件。 这将跳过对 Java 版本的检查。 您有责任确保您的机器上有 JDK 8 或后续版本,并且在您使用 java 命令时使用此版本。 您可以通过检查命令来确保这没问题
版本
pkgutil --flatten /tmp/a ~/a.pkg
此时,您的主目录中有一个名为 a.pkg 的包。 双击它,Netbeans 安装程序就会完成它的工作。
其实很简单! 但是真的很难搞清楚!
我会一步一步告诉它:
第 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 步:在您的主目录上执行以下命令(确保用正确的信息替换 youruser 和 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:看,我现在已经注册了这个,只是为了确保帮助这里遇到同样问题的每个人,如果这真的帮助你,我真的很感激被投票为正确的解决方案?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.