簡體   English   中英

如何將 /usr/libexec/java_home 指向自定義 jdk 安裝?

[英]How to point /usr/libexec/java_home to custom jdk installation?

我在 macOS monterrey 上並使用自定義 JDK 15(我必須使用為我的公司修改的自定義 JDK)。 當我運行/usr/libexec/java_home時,出現此錯誤:

The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

但是,當我運行echo $JAVA_HOME時,我得到/Library/Java/JavaVirtualMachines/openjdk_15.0.6_15.38.18_x64 另外運行java --version返回正確的 JDK 版本。

因為/usr/libexec/java_home沒有指向使用 Java 的實際 JDK 目錄工具不起作用。

有沒有辦法將/usr/libexec/java_home設置為指向我的 JDK 目錄?

請參閱以下問題以深入了解此主題:

如何更改從 /usr/libexec/java_home 返回的 Mac OS 的默認 Java VM

如何在 macOS 上設置或更改默認 Java (JDK) 版本?

這是一個有效的簡短答案:

sudo ln -s (absolute path to your JVM) /Library/Java/JavaVirtualMachines/(symlink name)

就我而言,它指向最新 Android Studio 中的 JVM:

sudo ln -s /Applications/Android\ Studio.app/Contents/jre /Library/Java/JavaVirtualMachines/android-studio-jre

c4augustus 用作簡短答案的內容幾乎對我有用。 不安的部分是找出鏈接目錄的正確內容 - 正如在另一個答案中發現的那樣, /usr/libexec/java_home搜索位於Contents/目錄下的Info.plist文件。

這位於 Homebrew 安裝在系統中的 OpenJDK 結構(在我的情況下)的更深處。 簡單地重新鏈接到正確的目錄就可以了:

sudo ln -s /usr/local/Cellar/openjdk/18.0.1.1/libexec/openjdk.jdk/ /Library/Java/JavaVirtualMachines/openjdk-18.jdk

希望這對某人有所幫助(我需要它來讓 VS Code 能夠處理 AsciiDoc 文檔中的 PlantUML 圖片)。 🤞

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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