前言
本文章,同步自我个人腾讯云社区Mintimate’s Blog专栏:
Mac的JDK和Jenv(JAVA_HOME管理器)的详细配置使用教程
在一些情况下,我们需要切换JDK的版本,比如:我们拷贝他人项目,他人项目JDK版本为11,而你自己配置的JDK版本为8
,存在不兼容。这个时候我们就需要去调整JDK版本,有没有方法可以一劳永逸,轻松切换JDK呢?答案是:Jenv
什么是Jenv
按照官网的解释:
jEnv is a command line tool to help you forget how to set the JAVA_HOME environment variable
简单地说:使用一条命令可以轻松配置JAVA_HOME到环境变量.
Jenv配置方法很简单,两个方法:使用Homebrew配置安装
、手动配置安装
使用Homebrew配置安装
刚刚我们已经介绍如何安装Homebrew
,所以再次调用Homebrew
来安装:
brew install jenv
之后根据自己terminal使用的是bash
还是zsh
来添加环境变量:
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
如:Big Sur
用户,打开~/.zshrc
文件,追加内容:
之后,和上文一样source ~/.zshrc
一次,重载配置即可。
手动配置安装
其实jenv的话,个人还是推荐Homebrew自动配置
不过,`手动配置手动配置也很简单,我们下载Jenv的发行版本包:
- 手动配置Git部署在确保你设备按照了Git情况下,终端输入:# Jenv
export PATH="/Users/mintimate/.jenv/bin: P A T H " e v a l " PATH" eval " PATH"eval"(jenv init -)"之后,和上文一样source ~/.zshrc
一次,重载配置即可。 - GitHub项目地址
- 镜像下载
镜像下载适用于访问GitHub过慢,或无法访问用户。
下载后,得到jenv-0.5.4.zip
压缩文件,使用unzip
命令或解压工具解压。解压到自己知道路径的地址,比如我解压的地址是/Users/mintimate/.jenv
:
所以,我们环境变量就这样写:
如何使用Jenv
Jenv的使用很简单,利用配置JDK8的方法,我下载了JDK11,存储地址是/Library/Java/JavaVirtualMachines/zulu-11.jdk
,我们添加到Jenv里:
jenv add /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
可以看到,jenv自动检录多余的名称。你可以放任不管,但是如果你是“强迫症”人群,可以手动remove
多余名称:
之后,使用versions
命令,可以看到Jenv管理的JDK版本:
jenv versions
当我们要在当前目录下,调用JDK11时候,终端输入:
jenv local 11
这个时候,输入java -version
就是JDK11了:
openjdk version "11.0.9" 2020-10-20 LTS
OpenJDK Runtime Environment Zulu11.43+21-CA (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM Zulu11.43+21-CA (build 11.0.9+11-LTS, mixed mode)
Tips
其实,对于电脑配置JDK;我个人建议是配置JDK8
和JDK11
,虽然JDK8很稳定,但是也确实有点年代,可以往JDK11靠了。当然,最好再安装一个jenv
,配置jenv
后,可以安装多个JDK版本,方便生产和开发环境下,JDK版本的切换。我个人倾向:
- JDK自己手动配置
- Jenv使用Homebrew配置