Mac/Linux之使用Jenv切换java版本
前言
安装JENV
Git方式安装
apt-get update -y
apt-get install git -y
git clone https://github.com/jenv/jenv.git ~/.jenv
Mac 安装jenv可以使用brew
brew install jenv
查看所有已安装的 jdk : /usr/libexec/java_home -V
配置文件
bashrc
配置方式:
# 这里我们直接以`ubuntu`为准,vim这个文件(`~/.bashrc`)即可
vim ~/.bashrc
#这里直接注释jdk默认环境配置,将采用jenv灵活管理jdk
#set oracle jdk environment
#export JAVA_HOME=/home/bin/jdk1.8.0_191
#export JRE_HOME=${JAVA_HOME}/jre
#export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
#export PATH=${JAVA_HOME}/bin:$PATH
# Jenv
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
zsh
配置方式:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
bash
配置方式:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
重点:如果你之前安装过jdk,并且配置过jdk的环境变量,直接注释,否则jenv会不生效
source ~/.bashrc
验证
$ jenv help
Usage: jenv <command> [<args>]
Some useful jenv commands are:
commands List all available jenv commands
local Set or show the local application-specific Java version
global Set or show the global Java version
shell Set or show the shell-specific Java version
rehash Rehash jenv shims (run this after installing executables)
version Show the current Java version and its origin
versions List all Java versions available to jenv
which Display the full path to an executable
whence List all Java versions that contain the given executable
add Add JDK into jenv. A alias name will be generated by parsing "java -version"
See `jenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/jenv/jenv/blob/master/README.md
管理jdk
添加jdk
添加jdk(路径从 /usr/libexec/java_home -V
的结果看)
jenv add /Library/Java/JavaVirtualMachines/corretto-17.0.7/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
设置全局环境jdk
jenv global 1.8
设置目录层级jdk
jenv local 11
执行成功后,当前目录下会生成一个.java_version
的隐藏文件
PS
命令
#查看当前的 Java 版本
jenv version
#列出目前 jenv 所有可切换管理的版本
jenv versions
#手动添加本地的 Java Home 路径
jenv add /Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/
#global 全局设置 一般不建议改变全局设置
jenv global <java 版本>
#shell 会话设置 只影响当前的shell会话
jenv shell <java 版本>
#取消 shell 会话的设置
jenv shell --unset
#local 本地设置 只影响所在文件夹
jenv local <java 版本>
配置文件
#jenv start
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
alias jdk8='jenv global 1.8'
alias jdk13='jenv global 13.0'
alias jdk17='jenv global 17.0'
alias jdk8_tmp='jenv local 1.8'
alias jdk13_tmp='jenv local 13.0'
alias jdk20_tmp='jenv local 17.0'
# jenv END
# 快捷命令:jdk8
jenv
管理JDK
版本的时候,使用maven
出现了问题
:
The JAVA_HOME environment variable is not defined correctly,
this environment variable is needed to run this program.
此时需要开启jenv的maven插件支持。
jenv enable-plugin maven
文献
Linux的JDK和Jenv(JAVA_HOME管理器)的详细配置使用教程原创
Java 多版本管理工具(自由切换Java版本)Jenv使用(支持Linux Mac Windows)
jenv切换环境