前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【开发环境】JRE 裁剪 ① ( 裁剪 bin 目录下的 dll 动态库文件 )

【开发环境】JRE 裁剪 ① ( 裁剪 bin 目录下的 dll 动态库文件 )

作者头像
韩曙亮
发布2023-03-30 18:48:00
6690
发布2023-03-30 18:48:00
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

参考博客 :

资源下载地址 : https://download.csdn.net/download/han1202012/87388400

一、JRE 裁剪


【IntelliJ IDEA】使用 exe4j 生成 jre + jar 可执行文件并在 Windows 上执行 ( 不安装 jre 执行 java 程序 ) 博客中介绍了使用 exe4j 工具将 Java 程序封装成了可以在 Windows 中执行的 exe 程序 ;

封装完成后 , 大小 190MB 左右 , 主程序只有 1.7 MB , JRE 占了 190MB , 这里需要对 JRE 进行裁剪 ;

在这里插入图片描述
在这里插入图片描述

执行 " JRE裁剪示例.exe " 可执行文件 , 即可弹出命令行窗口以及 AWT 界面程序 ;

在这里插入图片描述
在这里插入图片描述

JRE 裁剪分为三步 :

  • 第一步 : 裁剪 bin 目录下的 dll 动态库文件 ;
  • 第二步 : 裁剪 lib 目录下的 jar 文件 ;
  • 第三步 : 裁剪 rt.jar 文件 ;

二、裁剪 bin 目录下的 dll 动态库文件


下载 Process Explore 工具 , 我已经将该工具上传到了 CSDN 的资源中 , 可以 0 积分下载 ;

下载地址 : https://download.csdn.net/download/han1202012/87388400

首先 , 启动 " JRE裁剪示例.exe " 程序 ;

然后 , 运行 Process Explore 工具 , 选中 " JRE裁剪示例.exe " 进程 , 然后使用 " Ctrl + D " 快捷键 , 点击下方的 " Path " , 将下方的内容按照名称进行排列 , 在最下方可以看到 该进程 运行时 用到的 dll 动态库 ;

在这里插入图片描述
在这里插入图片描述

最后 , 进入 jre 的 bin 目录 , 点击 " 名称 " , 将文件按照名称排序 ;

在这里插入图片描述
在这里插入图片描述

开始尝试依次删除文件 , 然后测试程序是否还可以正常运行 ;

按照名称 , 逐个删除 ;

先处理目录文件 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\client\jvm.dll ,

下面的 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\client 目录中 , 保留 jvm.dll 文件 , 删除其它文件 ;

在这里插入图片描述
在这里插入图片描述

删除后 , 程序正常执行 , 裁剪成功 ;

在这里插入图片描述
在这里插入图片描述

这 3 个目录没有用到 , 尝试删除这 3 个目录 , 删除后 , 程序正常运行 , 裁剪成功 ;

在这里插入图片描述
在这里插入图片描述

处理 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\awt.dll 文件 , 删除 开始位置到该文件之间的所有 dll 文件 ;

删除了 41 个文件 , 程序正常执行 ;

在这里插入图片描述
在这里插入图片描述

处理 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\fontmanager.dll 文件 , 删除 awt.dll 位置到该文件之间的所有 dll 文件 ;

删除 8 个文件后 , 程序仍然正常运行 ;

在这里插入图片描述
在这里插入图片描述

处理 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\java.dll 文件 , 删除 fontmanager.dll 位置到该文件之间的所有 dll 文件 ;

删除 8 个文件后 , 程序仍然正常运行 ;

注意 , exe 文件不要随便删除 ;

在这里插入图片描述
在这里插入图片描述

处理 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\net.dll 文件 , 删除 java.dll 位置到该文件之间的所有 dll 文件 ;

删除 25 个文件后 , 程序仍然正常运行 ;

注意 , exe 文件不要随便删除 ;

在这里插入图片描述
在这里插入图片描述

处理 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\nio.dll 文件 , 删除 net.dll 位置到该文件之间的所有 dll 文件 ;

之间没有文件 , 不用删除 ;

处理 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\verify.dll 文件 , 删除 nio.dll 位置到该文件之间的所有 dll 文件 ;

删除 14 个文件后 , 程序仍然正常运行 ;

注意 , exe 文件不要随便删除 ;

在这里插入图片描述
在这里插入图片描述

处理 D:\004_Operate\exe4j_work\JreCutter\jre_32\bin\zip.dll 文件 , 删除 verify.dll 位置到该文件之间的所有 dll 文件 ;

删除 3 个文件后 , 程序仍然正常运行 ;

注意 , exe 文件不要随便删除 ;

在这里插入图片描述
在这里插入图片描述

删除完毕后剩下这些文件 :

在这里插入图片描述
在这里插入图片描述

JRE 只剩下 111MB ;

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、JRE 裁剪
  • 二、裁剪 bin 目录下的 dll 动态库文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档