当前位置: 首页 > 工具软件 > jenv > 使用案例 >

通过MacdeBrew安装多版本Java + jEnv

公西修文
2023-12-01

安装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
 类似资料: