文章目录
- 一、裁剪 lib 目录下的 jar 文件
- 二、压缩 rt.jar 文件
参考博客 :
- 精简jre1.8
- 精简jre步骤
- 裁剪JRE(嵌入式设备的java环境移植)
资源下载地址 ( 本篇博客的资源快照 , 不是最终版的裁剪效果 ) : https://download.csdn.net/download/han1202012/87389091
JRE 裁剪分为三步 :
- 第一步 : 裁剪 bin 目录下的 dll 动态库文件 ;
- 第二步 : 裁剪 lib 目录下的 jar 文件 ;
- 第三步 : 裁剪 rt.jar 文件 ;
在 上一篇博客 【开发环境】JRE 裁剪 ① ( 裁剪 bin 目录下的 dll 动态库文件 ) 执行了第一步操作 , 裁剪 bin 目录下的 dll 动态库文件 , 本篇博客开始执行第二步裁剪工作 , 裁剪 lib 目录下的 jar 文件 ;
一、裁剪 lib 目录下的 jar 文件
运行 Process Explorer 工具 , 默认状态下显示的运行该程序使用到的 dll 动态库文件 ,
执行 " Ctrl + H " 快捷键 , 就可以切换成查看执行该程序所需的文件信息 , 其中包含 jar 包信息 ;
在上图中 , 点击 Name 进行排序 , 查看 jre 目录中用到了哪些 jar 包 ;
按照名称搜索下来 , 发现只用到了如下两个 jar 包 ;
D:\004_Operate\exe4j_work\JreCutter\jre_32\lib\charsets.jar
D:\004_Operate\exe4j_work\JreCutter\jre_32\lib\rt.jar
删除 D:\004_Operate\exe4j_work\JreCutter\jre_32\lib 目录下的所有文件 , 只保留 charsets.jar 和 rt.jar 两个文件 ;
删除其它 jar 文件后 , 程序仍然正常执行 ;
此时 jre 还剩下 76MB ;
二、压缩 rt.jar 文件
将 rt.jar 拷贝出来 , 进行解压 ;
解压后 , 得到这些目录文件 ;
在上述解压 rt.jar 的目录下 , 执行如下命令 , 重新打包 rt.jar ;
jar cvf rt.jar com java javax org sun jdk
压缩完毕后 , rt.jar 只有 30MB 左右 ;
将压缩后的 rt.jar 拷贝到 jre 的 lib 目录下 ;
此时程序依然可以执行 ;
jre 裁剪后 30MB ;