case-kの備忘録

日々の備忘録です。データ分析とか基盤系に興味あります。

Javaのバージョン管理 備忘録

MacJavaのバージョン管理をする際に備忘録

jenv install

brew install jenv
echo "if which jenv > /dev/null; then eval "$(jenv init -)"; fi" >> ~/.zshrc 
source ~/.zshrc 

M1 Macの場合

sudo softwareupdate --install-rosetta # M1で入れるのに必要

JDK Install

brew tap AdoptOpenJDK/openjdk
brew install --cask adoptopenjdk8 
brew install --cask adoptopenjdk

/usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/usr/libexec/java_home -v 16         
/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home

JenvにJDKを追加

jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
```


Jenvに追加されたバージョンを確認

jenv versions
* system (set by /Users/keisuke.taniguchi/.jenv/version)
  1.8
  1.8.0.292
  16.0
  16.0.1
  openjdk64-1.8.0.292
  openjdk64-16.0.1


利用するバージョンを選択

jenv global 1.8

java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.292-b10, mixed mode)

ref
Macで多様なJavaバージョンとディストリビューションを管理:HomebrewとjEnvの活用 #homebrew - Qiita

Java 11

brew install --cask temurin11
jenv add /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home

Java21
```
brew install --cask temurin21
jenv add /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home

jenv global 21.0
keisuke.taniguchi@keisuketaniguchinoMacBook-Pro api % jenv versions
system
1.8
1.8.0.292
11.0
11.0.26

21.0 (set by /Users/keisuke.taniguchi/.jenv/version)

21.0.6
openjdk64-1.8.0.292
temurin64-11.0.26
temurin64-21.0.6
```