![](/img/trans.png)
[英]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.