macos:java
文書の過去の版を表示しています。
Java on macOS
インストール
macで使用できるJava(jre, jdk)のディストリビューションは以下のものがある。どれも大きな違いはないので好きなものをインストールするとよい
- Oracle
- Adoptium Eclipse Temurin
- Azul Zulu
- Amazon Corretto
そのほかMicrosoft, RedHat, SAPなどのビルドも存在する(らしい)。
JDKとJREの違いは、開発ツールの有無(JDKにはjavacコマンドなどが含まれている)。コードを書かないならJREで十分だがJREを配布していないディストリビューションも多い。
JDK, JREのインストール先
/Library/Java/JavaVirtualMachines/以下にインストールされる。不要なJDK, JREのアンインストールはrm -rfで削除
インストールされているJavaを確認
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
25.0.1 (arm64) "Eclipse Adoptium" - "OpenJDK 25.0.1" /Library/Java/JavaVirtualMachines/temurin-25.jre/Contents/Home
21.0.6 (arm64) "Eclipse Adoptium" - "OpenJDK 21.0.6" /Library/Java/JavaVirtualMachines/temurin-21.jre/Contents/Home
/Library/Java/JavaVirtualMachines/temurin-25.jre/Contents/Home
JAVA_HOME環境変数
java_homeコマンドを使うと、JAVA_HOME環境変数に設定すべき値を取得できる。なお、macのjavaコマンドは/usr/bin/javaだが、これはJAVA_HOMEを参照して対応するJRE, JDKのjavaコマンドを呼び出すもののようだ。このためインストールしたJRE, JDK以下のbinにパスを通す必要はない。
$ /usr/libexec/java_home /Library/Java/JavaVirtualMachines/temurin-25.jre/Contents/Home
ターミナルから使う場合は、~/.zprofileなどで以下の設定をしておく
JAVA_HOME=$(/usr/libexec/java_home 2>/dev/null) if [[ -n $JAVA_HOME ]]; then export JAVA_HOME fi
新しいJDKが指定される、古いバージョンを使いたいならば、-vでバージョンを指定する
export JAVA_HONE=$(/usr/libexec/java_home -v 21)
ディストリビューションの異なる同一バージョンのJDKが複数入っている場合のjava_homeの結果は不明。そういう場合はjava_homeコマンドを使わずに直接JAVA_HOMEにパスを指定する?(やったことないので分からん)
macos/java.1766666214.txt.gz · 最終更新: by nullpon