jenv是什么
Mac jenv 初次看到jenv的同学大概率是比较懵的。不知道它是什么。jenv是一个Mac os 下的java多版本的管理工具.和Pyenv的作用同一系列的.
macOS安装jenv
brew install jenv
配置jenv
Mac不同的系统版本对环境变量的控制使用的是不同的文件,早起的系统一般是
~/.bash_profile
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
不过,比较新的os不再默认存在上述文件,而是一个新的文件( Mac m1)
~/.zshrc
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
JDK所有版本
/usr/libexec/java_home -V
Matching Java Virtual Machines (4):
12.0.1, x86_64: "OpenJDK 12.0.1" /Library/Java/JavaVirtualMachines/openjdk-12.0.1.jdk/Contents/Home
1.8.0_212, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
使用 jenv add 命令挨个将上述路径添加即可
jenv配置java路径
jenv add /Library/Java/JavaVirtualMachines/openjdk-12.0.1.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
JEnv 的精髓是 shell、local 和 global 三个参数命令。shell 用于设置终端窗口生命周期内使用的 JDK 版本;local 用于设置当前目录下使用的 JDK 版本;而 global 用于设置全局使用的 JDK 版本。这三个命令的使用方式都一样
jenv查看和设置java版本
ethan$ jenv versions
system
1.8
1.8.0.291
* 11.0 (set by /Users/ethan/.jenv/version)
11.0.15
16.0
16.0.1
openjdk64-11.0.15
openjdk64-16.0.1
oracle64-1.8.0.291
ethan$ jenv global 11.0