问题描述
因为分析代码需要,需要使用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文件安装即可