基于Java 8 的裁剪。

1
2
3
4
$ java.exe -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

删除多余的文件

重新压缩jar

当前进行裁剪版本的rt.jar达到了61M,我们来对它进行重新压缩

1
2
$ ls rt.jar -lh
-rw-r--r-- 1 GW00235770 1049089 61M Jan 20 16:30 rt.jar

我们先对它解压

1
2
3
$ mkdir rtjar
$ cd rtjar
$ jar -xf ../rt.jar

再重新压缩

1
$ zip -q -r rt.jar .

重新压缩后的大小, 32M

1
2
$ ls rt.jar -lh
-rw-r--r-- 1 GW00235770 1049089 32M Jun 16 14:28 rt.jar

我们可以用同样的方式对其他jar进行重新压缩

Reference