【发布时间】:2011-09-08 20:34:11
【问题描述】:
我将 Java 应用程序作为 JAR 分发,但它依赖于一些额外的 Apache 库。总而言之,这些库将 JAR 的大小增加了六倍。我不需要整个库,我想删除我的代码不需要的任何内容。
有没有办法确定需要的类?我可以查看我调用的所有类的源代码并检查它们的依赖关系,但考虑到这些库来自 6 个单独的 JAR,这只是一个痛苦。
【问题讨论】:
标签: java jar class-library
我将 Java 应用程序作为 JAR 分发,但它依赖于一些额外的 Apache 库。总而言之,这些库将 JAR 的大小增加了六倍。我不需要整个库,我想删除我的代码不需要的任何内容。
有没有办法确定需要的类?我可以查看我调用的所有类的源代码并检查它们的依赖关系,但考虑到这些库来自 6 个单独的 JAR,这只是一个痛苦。
【问题讨论】:
标签: java jar class-library
您可以使用ProGuard 来消除分布式 jar 中任何不需要的类。您可能需要自定义流程以处理在编译时无法发现的依赖项(例如,由于反射)。
【讨论】: