自從有人將我的問題移到一個沒有太多活動的社區并且評論中提供的解決方案不起作用后,再次發布。
我已經從這里安裝了 Amazon Corretto Java 17 。
但是,我無法將 Java 版本切換到 Java 17。
以下是我已經嘗試過的步驟:
1.
export JAVA_HOME=$(`/usr/libexec/java_home -v17`)
export JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home- 我還使用以下命令檢查了 Java 的最高版本:
/usr/libexec/java_home它顯示了正確的 Java 17 版本:/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home - 我還使用命令檢查了我機器上安裝的所有 Java 版本,
/usr/libexec/java_home -V它正確顯示了 Java 8、11 和 17:
17.0.1 (x86_64) "Amazon.com Inc." - "Amazon Corretto 17" /Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
11.0.9.1 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/harsh.pamnani/Library/Java/JavaVirtualMachines/corretto-11.0.9.1/Contents/Home
1.8.0_275 (x86_64) "Amazon" - "Amazon Corretto 8" /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
- 我還補充
JAVA_HOME提到出口step-1和step-2以.zshrc和.bash_profile為好。 - 我在 StackOverflow 和多個博客上關注了多個問題。例如,
如何在 macOS 上設定或更改默認的 Java (JDK) 版本?
在 mac OS 上切換 java 版本
https://java.tutorials24x7.com/blog/how-to-switch-java-version-on-mac
https://www.lotharschulz.info/2019/08/21/mac-change-default-java-version
https://akrabat.com/using-jenv-to-select-java-version-on-macos/
https://www.happycoders.eu/java/how-to-switch-multiple-java-versions-windows/
- 我正在使用
jenv在不同的 Java 版本之間切換。甚至jenv無法找到 Java 17。我使用過jenv versions,以下是輸出:
system
1.8
1.8.0.275
11
11.0
* 11.0.9.1 (set by /Users/harsh.pamnani/.jenv/version)
corretto64-1.8.0.275
corretto64-11.0.9.1
- 我還檢查了
JAVA_HOME指向Java 17. 這是螢屏截圖:螢屏截圖
即使在我執行上述所有步驟之后java --version,它仍然設定為 Java 11:
openjdk 11.0.9.1 2020-11-04 LTS
OpenJDK Runtime Environment Corretto-11.0.9.12.1 (build 11.0.9.1 12-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.9.12.1 (build 11.0.9.1 12-LTS, mixed mode)
- I have also checked
PATHvariable, and nothing seems to be relatable to Java. Following is the output for path variables:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Users/harsh.pamnani/Downloads/apache-maven-3.6.3/bin
Could someone please help me understand if I am missing anything here. Thank you.
uj5u.com熱心網友回復:
which java通常用于查找您在鍵入時呼叫的確切可執行檔案java。
請記住,當您輸入命令時,java不會使用您的 JAVA_HOME 設定。而是使用作業系統PATH設定。如果您在要在路徑上使用的那個“之前”有一個較舊的 java 副本,那么這就是作業系統會給您的。要解決這樣的問題,您需要更改路徑,使所需的 Java 版本的目錄位于任何其他 Java 版本之前。
我確實看到您檢查了您的PATH設定,但我認為您不知道要檢查什么,因為您只列出了目錄。在這些目錄中,java存在可執行檔案。如果舊的可執行檔案位于路徑中較早的目錄中,那么無論任何其他設定如何,這就是從命令列運行它時將獲得的 java 版本。
現在,正確設定 JAVA_HOME 仍然很重要,因為當各種 Java 工具想要發現專案時,您可能會讀取 JAVA_HOME(如果錯誤,則定向到不匹配的 JVM)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/373394.html
標籤:java macos java-17 corretto jenv
上一篇:帶有JetpackNavigation的BottomNavigationView未正確顯示活動選單指示器
下一篇:無法在VSCode中更改主題?
