减少jar文件大小?

use*_*630 11 java compression jar

是否有一个很好的应用程序通过消除冗余类/方法/常量池元素来减少jar文件大小?(即假设没有反射,无法从一组固定的入口点到达)

当我只是使用他们的几种方法时,我已经厌倦了拉臃肿的库.

(我不是在谈论小的"本地"优化,比如缩小名称.我正在考虑更多的东西进行全局分析,以确定使用哪些类/方法/变量,给定一组入口点(包括反射条目)点),并删除未使用的所有内容.

我的webapp就像是45MB,主要是由于30多个库,而且我很确定我只使用了每个库的一小部分.

om-*_*nom 13

是的,有一个 - Proguard.

ProGuard是一个免费的Java类文件收缩器,优化器,混淆器和预验证器.它检测并删除未使用的类,字段,方法和属性.它优化字节码并删除未使用的指令.它使用简短的无意义名称重命名剩余的类,字段和方法.最后,它预先验证了Java 6或Java Micro Edition的已处理代码.

  • 我从来没有使用 proguard 做任何事情。它在我尝试过的任何 jar 上都失败了。 (2认同)

Gro*_*uez 5

混淆通常会通过一个可观的因素减少 jar 文件的大小。

您可能想尝试Proguard(开源)等类似工具。

您可以在此页面中看到一些缩小尺寸的示例: