随着目前项目的不断更新,有些新项目需要用到更新的Java版本如Java17,但是部分老项目仍然还是使用Java8,多个版本混合开发的时候,频繁通过修改配置文件选定JDK版本会很麻烦,我们可以通过jEnv来实现实现多JDK版本间快捷切换
1、安装jEnv
$ brew install jenv
2、配置shell环境,并重新加载配置
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
3、查看当前安装的各个JDK所在路径
$ /usr/libexec/java_home -V
4、通过jEnv添加各个JDK,如下示例
## 添加JDK8
$ jenv add /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
## 添加JDK17
$ jenv add /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
5、通过jEnv查看JDK列表
## 查看JDK版本列表
$ jenv versions
## 结果如下
system
1.8
## 此处因为我之前配置过JDK8为默认JDK
* 1.8.0.391 (set by /Users/username/.jenv/version)
11
11.0
11.0.21
17
17.0
17.0.9
oracle64-1.8.0.391
oracle64-11.0.21
oracle64-17.0.9
6、配置要设置的JDK版本
## 全局配置JDK版本,试了几次发现此处需重新配置加载(官方文档没有标注,有可以解惑的大佬可以告知一下)
$ jenv global 1.8.0.391
$ source ~/.zshrc
## 设置当前目录及子目录的JDK版本
$ jenv local 1.8.0.391
## 设置当前shell会话JDK版本
$ jenv shell 1.8.0.391
7、其他命令
## 查看状态
$ jenv doctor
## 删除管理JDK版本
$ jenv remove xxx版本号