我在某些程序中使用 HtmlUnit,但我总是遇到这样的问题,即每当我使用它时,我都必须添加从 HtmlUnit 网站下载的所有文件(库),所以我得到的 jar 文件总是 10 MB。
这些是我添加的文件:
但是在我的大部分程序中我只包含这个:
import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.RefreshHandler;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.*;
我通常只使用 WebClient 和 HtmlElements(HtmlForm、HtmlTable 等),所以我觉得很奇怪,我需要所有这些。
我的问题是,如果我可以减少包含的库的数量,或者可能更好,我如何确定我包含的哪些库根本没有被使用。
最佳答案
您是否真的要检查所有添加的库的所有类是否需要?
恕我直言,这是一项针对程序的工作。一个流行的开源程序是 ProGuard .
一般来说,ProGuard 被称为混淆器(重命名类文件中的所有内容,因此很难理解反编译的类),但在使用参数 -dontobfuscate 时,它可以在没有混淆的情况下使用。此外,我建议您也使用 -dontoptimize 参数。
如果你在你的大 JAR 上运行 ProGuard,你会得到一个小得多的 JAR。
如果您有兴趣,我可以发布一个 ant 构建文件的一小部分,其中展示了如何配置和调用 ProGuard。
关于java - 确定使用的库以减少 JAR 文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4460757/