项目场景:
因为项目需要使用到jnlp的程序,但是mac系统中因为安全的问题,在jdk1.6之后就禁用了,所以1.8无法打开jnlp的程序,这里需要安装jdk1.6
问题描述:
下载好jdk1.6的安装包dmg双击运行发现mac提示已安装1.8无法进行降级安装
原因分析:
这大概是mac的自作聪明,现在已经安装了jdk1.8的降级提醒
系统自动检测,低版本安装高版本无需安装,从而导致安装失败
解决方案:
解决办法:修改判断点的脚本
//JavaForOSX.dmg为jdk1.6的安装包
//这里挂安装包的文件 mount后面为安装包的绝对路径
hdiutill mount <path>/JavaForOSX.dmg
//解包安装包
pkgutil --expand /Volumes/Java\ for\ macOS\ 2017-001/JavaForOSX.pkg /tmp/setup
//修改判断文件,从而 让高版本的判断是小
sed -i '' 's/return false/return true/g' /tmp/setup/Distribution
//重新打包 打包的路径为~/Desktop/Java.pkg文件
pkgutil --flatten ~/tmp ~/Desktop/Java.pkg
//双击打开文件直接进行安装,不在被系统拦截