通過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

$ 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章