[英]Are there tools for culling unused classes from a jar file or set of jar files for a java applicaton
因此,我们在许多制作 jar 文件和外部库的项目中拥有广泛的 Java 代码库。 我正在开发一个应用程序,该应用程序使用类路径中大量 jar 文件中的一组稀疏类。
因为我们在存储空间有限的设备上加载应用程序,所以我想从 jar 文件集中剔除所有未使用的类,然后创建一个仅包含应用程序所需内容的 jar。
这是运行一个非常类似于传统“链接”的过程,它只包含实际引用的代码。
理想情况下,我可以指定一个“Root”类的列表,例如包括应用程序的“main”和我知道的任何动态加载的东西以及诸如资源之类的项目,并在指定的类路径上运行一些工具,这将构建一个文件夹需要运行应用程序。
然后,我可以为运行 app/applet/servlet 所需的尽可能小 jar 生成该结果。
我可以设想一个自定义的“类加载器”,它可以简单地生成应用程序运行时加载的所有内容的列表。 (即类+ 类路径中的源代码)如果能够运行应用程序中的所有代码路径,则可用于此目的。 当然,如果有平台或其他运行时依赖项的动态加载,这不会涵盖这一点,但它会完成大部分工作。
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.