通過MacdeBrew安裝多版本Java + jEnv
安裝Homebrew
導入homebrew-cask-versions
https://github.com/Homebrew/homebrew-cask-versions
- 安裝最新版本以外的都需要安裝
$ brew tap homebrew/cask-versions
安裝Java 14
- 用cask install java安裝java的最新版本(現在最新:Java SE 14)
$ brew cask install java
安裝Java 11
$ brew cask install java11
安裝Java 8
- 因爲許可證的原因,使用AdoptOpen
、JDKCorretto
注意選擇的JDK不一樣所以SDK也可能不一樣
$ brew cask install java8
安裝AdoptOpenJDK 8
$ brew cask install adoptopenjdk8
安裝Amazon Corretto 8
$ brew cask install corretto8
確認安裝完的JDK(JAVA_HOME)
$ /usr/libexec/java_home -V
查看各個版本安裝的路徑
$ /usr/libexec/java_home -v 版本號
JDK版本切換
Java SE 14
$ export JAVA_HOME=`/usr/libexec/java_home -v "14"`
$ PATH=${JAVA_HOME}/bin:${PATH}
Java SE 11
$ export JAVA_HOME=`/usr/libexec/java_home -v "11"`
$ PATH=${JAVA_HOME}/bin:${PATH}
Java SE 8
$ export JAVA_HOME=`/usr/libexec/java_home -v "1.8"`
$ PATH=${JAVA_HOME}/bin:${PATH}
利用jEnv
- 導入jEnv可以更簡單的切換Java版本
- 參考:https://github.com/jenv/jenv
安裝jEnv
$ brew install jenv
- PATH設定
- 根據使用的shell不同命令不一樣
# Shell: bash
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
# Shell: zsh
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc
- 做成路徑
$ cd ~
$ mkdir ~/.jenv/versions
往jEnv裏面追加JDK
$ jenv add `/usr/libexec/java_home -v "1.8"`
查看Jenv裏面追加的JDK
- 開頭*表示有效的JDK
$ jenv versions
* system (set by /Users/[ユーザ名]/.jenv/version)
1.8
1.8.0.222
openjdk64-1.8.0.222
Java版本切換
- jenv versions出力的版本可以隨便切換
全局化
$ jenv global 1.8.0.222
$ jenv versions
system
1.8
* 1.8.0.222 (set by /Users/[ユーザ名]/.jenv/version)
openjdk64-1.8.0.222
$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
本地化
- 特定的目錄應用
- 在命令執行的路徑下做成.java-version文件,指定版本的JDK可以使用
$ jenv local 11.0
$ jenv versions ✘
system
1.8
1.8.0.222
* 11.0 (set by /Users/[jenv localを実行したディレクトリ]/.java-version)
11.0.2
openjdk64-1.8.0.222
openjdk64-11.0.2
$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
$ cat .java-version
11.0
自動設定環境變量JAVA_HOME
- 自動設定JAVA_HOME需要執行enable-plugin export
- 自動設定JAVA_HOME解除需要執行disable-plugin export
$ jenv enable-plugin export