gpt4 book ai didi

java - 选择性 jar 装

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:35:38 28 4
gpt4 key购买 nike

我有我的小 program.jar,它使用了巨大的 library.jar 的一小部分。

是否有一种工具可以将几个 jar 重新打包成一个,以便它可以独立运行并且尽可能小?

更新:大小很重要。

最佳答案

proguard ,带有 ant 和 maven 插件。它删除未使用的代码,可选择混淆并压缩到单个 jar。

Proguard 在两个方面减小了尺寸

  1. 只有实际使用到的类才会存储在最终的jar中。
  2. 长名称,例如所有长包名、类名都被重命名为更短的名称,节省了大量空间。

判断一个类是否在java中被使用有点棘手。静态代码分析可以帮助您到目前为止,但您需要对通过反射访问的代码谨慎一些,因为该工具可能无法检测到它。它处理 Class.forName("x.y.z.Foo") 但任何更复杂的东西你都需要将它添加到要包含的类的配置文件中,可以让类加载器生成一个在运行时使用的类列表,所以这并不一定是艰巨的。

您可能还想调查 pack200压缩方案,因为这也可以显着减小 jar 的大小。

关于java - 选择性 jar 装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888119/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com