最近手头上的有个项目发布是以jar包来发布运行的,由于部署的服务器很多,不能保证每台机器上都安装同一版本的Java环境。 需要 发布包中内置jre,但是原始的jre太大,所以进行了手动的精简(这个精简包有可能会不能通用你们的项目,原因是不同的项目使用到jre中的class不同 ,精简包主要是将一些没有用到的class删除)。
下面我们看一下jre的目录结构:
jre7
├─bin
│ ├─dtplugin
│ ├─plugin2
│ └─server
└─lib
├─amd64
├─applet
├─cmm
├─deploy
├─ext
├─fonts
├─images
│ └─cursors
├─management
├─security
├─servicetag
└─zi
├─Africa
├─America
│ ├─Argentina
│ ├─Indiana
│ ├─Kentucky
│ └─North_Dakota
├─Antarctica
├─Asia
├─Atlantic
├─Australia
├─Etc
├─Europe
├─Indian
├─Pacific
└─SystemV
jre bin目录下 我们要保留的 是 jvm 虚拟机的配置文件。
之后就是精简lib包, lib包中我们仅仅需要三个jar包:charsets.jar,resources.jar,rt.jar (32位的系统会 多几个jar包)
我们使用最核心的jar包是 rt.jar ,需要根据自己的需求删除其中没用的class文件。
最后附上,jre7 Linux和Windows ,32和 64 位 的精简包,希望可以解决你们的问题,地址: https://pan.baidu.com/s/1c1RfxxY
本文介绍了如何针对特定项目需求精简Java运行环境(JRE),以减小其体积。在服务器部署时,由于无法确保每台机器都有相同版本的Java环境,因此选择在发布包中内置JRE。主要步骤包括保留必要的bin目录文件,特别是jvm虚拟机配置,以及精简lib目录,重点关注charsets.jar, resources.jar和rt.jar等核心库,并根据项目需求删除rt.jar中未使用的class文件。文章末尾提供了精简后的JRE7 Linux和Windows的32位及64位下载链接。"
50097061,4957207,Unity与LeapMotion环境搭建与初步使用,"['Unity开发', 'SDK', '优化', '脚本', 'UI交互']

535

被折叠的 条评论
为什么被折叠?



