###问题描述

因为分析代码需要,需要使用jdk1.6 ,安装时,macOS在安装了jdk8 jdk13等高版本jdk后,系统提示,无法安装,原因是“您机器上已经安装了更高的版本”

###解决方法

方式一

暴力的卸载新jdk,之后正序安装

 

方式二

研究了一下,mac安装包结构,发现判断点是个脚本。修改即可

比如我本地安装包: JavaForOSX.dmg

1.挂载安装文件 (可以直接双击,系统会自动完成此步骤)
hdiutil mount <path>/JavaForOSX.dmg

2.解包安装包
pkgutil --expand /Volumes/Java\\ for\\ macOS\\ 2017-001/JavaForOSX.pkg /tmp/setup

3.修改判断文件,让高版本判断失效
sed -i '' 's/return false/return true/g' /tmp/setup/Distribution

4.重新打包
pkgutil --flatten ~/tmp ~/Desktop/Java.pkg

5.双击新的pkg文件安装即可