簡體   English   中英

在 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。 在您的計算機上找到 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
  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> 退出終端並打開保存的文件。 它現在應該可以工作了。

我有同樣的問題。 我不需要重新啟動計算機。 我只是改變了這一行:

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”的目錄:

  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 命令時使用此版本。 您可以通過檢查命令來確保這沒問題

版本

  1. 讓我們總結一下:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM