首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【开发环境】JRE 裁剪 ② ( 裁剪 bin 目录下的 dll 动态库文件 | 压缩 rt.jar 文件 )

【开发环境】JRE 裁剪 ② ( 裁剪 bin 目录下的 dll 动态库文件 | 压缩 rt.jar 文件 )

作者头像
韩曙亮
发布于 2023-03-30 18:51:57
发布于 2023-03-30 18:51:57
6750
举报

文章目录

​

参考博客 :

资源下载地址 ( 本篇博客的资源快照 , 不是最终版的裁剪效果 ) : 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 包 ;

代码语言:javascript
复制
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 ;

代码语言:javascript
复制
jar cvf rt.jar com java javax org sun jdk

压缩完毕后 , rt.jar 只有 30MB 左右 ;

将压缩后的 rt.jar 拷贝到 jre 的 lib 目录下 ;

此时程序依然可以执行 ;

jre 裁剪后 30MB ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 文章目录
  • 一、裁剪 lib 目录下的 jar 文件
  • 二、压缩 rt.jar 文件
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档