问题描述:
不知道有多少人跟我一样,安装开发环境的时候,喜欢将其安装在自己指定的位置,自行配置环境变量,后期版本迭代直接修改环境变量就好了。
Windows 上软件安装的方式基本上分为两种,一种是 .exe 或 .msi 的安装包(Installer),另一种就是 .zip 的压缩包(Compressed Archive)。
- Installer:会自动配置软件的安装位置和需要的环境变量
- Compressed Archive:软件安装位置和需要的环境变量需要自行配置
两种方式各有好处,个人更倾向于 Compressed Archive 模式,这种方式可以自行定义软件的安装位置,方便后期管理。但是目前使用最多的 JDK8 Windows 版本只有 Installer 模式的安装包,如图:
所以希望能够从 .exe 安装包转成 .zip 的免安装版本
解决方法:
第一步:下载 JDK8 安装包
我们可以在 Oracle JDK下载地址 下载最新的 JDK8 Installer 版本,得到安装包文件,如图:
第二步:解压得到安装文件
① 使用7-Zip解压软件打开安装包解压并提取到指定位置
② 找到 .rsrc\1033\JAVA_CAB10 文件夹下的 111 文件,同样使用解压软件将其解压
③ 得到 tools.zip 压缩包,继续解压,得到 tools 文件夹,将此文件夹复制到指定位置,并重命名为对应的 JDK 版本名称:
④ 将 .rsrc\1033\JAVA_CAB9 下的 110 文件解压得到类资源文件 src.zip 压缩包放到上一步整理好的文件夹中
至此,我们就得到了 JDK8 免安装版本的安装文件了,但我们还需要进行下一步
第三步:将 jre 和 lib 目录下的 pack 包转为 jar 包
① 使用 cmd 在 jre 和 lib 目录下分别执行
unpack200 tools.pack tools.jar
unpack200 rt.pack rt.jar
将 tools.pack 和 rt.pack 转换成 tools.jar 和 rt.jar。
② 或者直接在 jdk 目录下执行
for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"
第四步:配置环境变量
将JDK中的 bin 目录配置到环境变量中。