macos使用jenv切换多个java环境
jenv是一个Java环境管理工具,可以方便地在多个Java版本之间切换。它可以帮助开发者轻松地管理和切换不同的Java版本,避免了手动设置JAVA_HOME和PATH等环境变量的麻烦。 github地址:https://github.com/jenv/jenv
安装jenv
-
使用brew进行安装
Terminal window brew install jenv -
配置环境变量,macos默认使用的zsh shell
Terminal window echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrcecho 'eval "$(jenv init -)"' >> ~/.zshrc使配置生效,
source ~/.zshrc
,然后会生成~/.jenv 目录 -
验证jevn是否安装
Terminal window jevn doctor如果输出如下信息,且都是ok,则表示安装成功
Terminal window [OK] JAVA_HOME variable probably set by jenv PROMPT[OK] Java binaries in path are jenv shims[OK] Jenv is correctly loaded -
使用brew安装多个版本的jdk
如果是macos是m系列的芯片,brew默认安装的路径是在/opt/homebrew/opt 而Intel系列的芯片默认安装在/usr/local
将使用brew安装的jdk添加到jenv
-
创建链接,将brew所安装jdk的路径连接到存放jdk目录,这个目录可以任意指定 例如macos m系列芯片,命令如下
Terminal window sudo ln -sfn /opt/homebrew/opt/openjdk17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/jdk17/openjdk.jdk# -sfn 表示创建软链接,-f表示强制覆盖,-n表示不跟随链接# 紧接着第一个参数表示你的jdk安装路径# 第二个参数表示你要创建的链接的路径 -
将jdk添加到jenv中
Terminal window jenv add /Library/Java/JavaVirtualMachines/jdk17/openjdk.jdk使用
jenv versions
命令查看已添加的Jdk版本 -
使用jenv进行jdk版本的切换
Terminal window jenv global 17.0jenv global 11.0后面的global表示全局的jdk版本,global后面的值是使用jenv versions命令列表中的值,否则会报错。 如果每次切换jdk都输入那么长的命令好像也不太方便,那么可以使用alias命令在~/.zshrc 进行配置,达到简化的目的。
Terminal window alias jdk11='jenv global 11'alias jdk17='jenv global 17'alias jdk21='jenv global 21'然后使用source ~/.zshrc命令使配置生效,后续直接在命令行窗口中,输入
jdk11
jdk17
,则可以进行jdk的自由切换