有人可以讓我知道在 Mac 上安裝 Java 的步驟。
我做了 brew install java
我明白了
Warning: openjdk 17.0.1 is already installed and up-to-date.
To reinstall 17.0.1, run:
brew reinstall openjdk
如果我做 java -version,我會得到這個。
openjdk version "13.0.8" 2021-07-20
如果我導航到/Library/Java,我有 2 個空目錄。
java 17 安裝在哪里??
uj5u.com熱心網友回復:
Java 不介意您安裝多個版本。這通常是必需的;java 不是向后兼容的(它試圖改變很少,但是例如 java8 到 java9 的轉換破壞了大量的東西,其中大部分是不必要的,而且大部分是庫和應用程式無法合理預期或修復的,所以一堆 java 應用程式和庫只在 java8 上運行 - 只是一個例子)。
所以,是的,你已經安裝了 JDK17。此外,是的,如果您只是在java沒有指定所需的情況下運行,那么您碰巧在這里獲得了 java13。
要查看所有已安裝的 java,您可以運行:
/usr/libexec/java_home -V
要“覆寫”,您可以使用類似的東西(取決于您在 Mac 上使用的外殼):
export JAVA_HOME=`/usr/libexec/java_home -v 17`
(反引號的意思是:運行它然后獲取它的輸出并將其視為運算式的“值”。在這里,將其分配給 JAVA_HOME 環境變數。-v 17請求 java 17 的路徑。該-V選項列出了所有內容,用于你的眼球,而不是腳本。該-v選項主要用于腳本,這就是我們在這里使用它的方式)。
JAVA_HOME決定某些事情使用哪個 java,但是java當您鍵入時得到的java是/usr/bin/java,并且該可執行檔案實際上只是一個包裝器,它從所有已安裝的版本中選擇一個 java 來運行。它使用 JAVA_HOME 來決定實際運行哪個 java。所有常用命令都有包裝器(javac也有)。您可以隨時運行,例如which javac查看實際運行的內容;你可能會看到/usr/bin/javac。中的所有內容都是/usr/bin這些包裝程式之一,它查看 JAVA_HOME,然后運行它在那里找到的二進制檔案。
uj5u.com熱心網友回復:
要使用自制軟體安裝的版本而不是作業系統安裝的版本,您可以通過鍵入從自制軟體獲取詳細資訊
brew info java
目前它指出
要讓系統 Java 包裝器找到此 JDK,請將其與 sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk 進行符號鏈接
openjdk 是 keg-only,這意味著它沒有符號鏈接到 /opt/homebrew,因為 macOS 提供了類似的軟體,并行安裝此軟體會導致各種麻煩。 如果您需要首先在 PATH 中安裝 openjdk,請運行: echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc 為了讓編譯器找到 openjdk,您可能需要設定:export CPPFLAGS="-I/opt/homebrew/opt/openjdk/include"
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/351806.html
