macOS上的Java版本管理工具

最近维护一个Java项目,发现项目的JDK需求是1.6版本,由于之前电脑上从来没有安装过,所以记录下此次的安装过程,顺便提供下几个JDK版本的目录下载地址。

硬件环境

交代下我的电脑版本:macOS Catalina 10.15.7

homebrew安装jenv

brew install jenv

安装完成以后需要配置下
Bash用户

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
exec $SHELL -l

Zsh用户

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
exec $SHELL -l

执行jenv doctor,如果能正常输出,说明安装完成。

为了能够正确的设置JAVA_HOME,启用export插件

jenv enable-plugin export

因为项目使用到maven,启用maven插件

jenv enable-plugin maven

安装JDK6

直接使用苹果官方的JDK6的安装包,会出现 “ Java for macOS 2017-001 无法安装在此磁盘上。已安装本软件包的更高版本 ”的提示,需要对安装包做下处理。
打开“脚本编辑器”应用,新建草稿,然后拷贝下列内容,然后点击运行(顶部三角形按钮):

set theDMG to choose file with prompt "Please select javaforosx.dmg:" of type {"dmg"}
do shell script "hdiutil mount " & quoted form of POSIX path of theDMG
do shell script "pkgutil --expand /Volumes/Java\\ for\\ macOS\\ 2017-001/JavaForOSX.pkg ~/tmp"
do shell script "hdiutil unmount /Volumes/Java\\ for\\ macOS\\ 2017-001/"
do shell script "sed -i '' 's/return false/return true/g' ~/tmp/Distribution"
do shell script "pkgutil --flatten ~/tmp ~/Desktop/Java.pkg"
do shell script "rm -rf ~/tmp"
display dialog "Modified Java.pkg saved on desktop" buttons {"Ok"}

运行完之后会让你选择dmg安装包,然后就会在系统桌面上生成一个Java.pkg文件,点击就可以安装。

安装JDK7和8

去官网下载JDK7和8,由于现在Oracle下载需要登录,我是从最下面的第三方链接下载的,下载完点击直接安装。

添加JDK到jenv

注意Java安装目录都在/Library/Java/JavaVirtualMachines/,不同的版本二级目录名称会不一样,如果使用我提供的安装包,目录名称无需修改。
JDK6

jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/

JDK7

jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/

JDK8

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/

jenv查看版本

jenv versions

jenv切换版本

设置全局模式下的JDK版本:

jenv global 1.8

设置某个工作目录下的JDK版本,会在当前目录下创建一个.java-version的文件:

jenv local 1.8

设置当前Shell session中的JDK版本:

jenv shell 1.8

查看版本是否设置成功:

java -version

苹果官方JDK6下载地址:
https://support.apple.com/kb/DL1572?locale=zh_CN
第三方JDK7和JDK8下载地址:
https://files-cdn.liferay.com/mirrors/download.oracle.com/otn-pub/java/jdk/
本地备用下载地址:
jdk1.6-macosx-x64.pkg
jdk-7u80-macosx-x64.dmg
jdk-8u221-macosx-x64.dmg

标签:jenv, java, jdk