我正在使用桌面应用程序,我使用的是Hibernate和HSQLDB。当我将我的应用程序设置为可运行的jar文件时,它的fize大小比我想象的要大。我看到最大的部分来自Hibernate及其依赖项。我不确定我是否需要所有Hibernate功能。有没有办法摆脱我不使用的Hibernate及其依赖库的部分?
答案 0 :(得分:0)
在Hibernate zip中的/lib/
文件夹下,您将看到一个名为/required/
的文件夹。对于非常基本的Hibernate应用程序而言,尽管您可能需要额外的JAR来处理诸如JPA之类的事情。我首先只在lib/required/
目录中包含JAR,看看你的项目是否有效,以及它是否没有添加你需要的东西来让你的项目再次运作。
答案 1 :(得分:0)
也许您可以使用工具来分析您的类和依赖关系(例如http://www.dependency-analyzer.org/)。这是另一篇关于它的帖子:How do I find out what jar files are actually used when compiling a java project。
另一种方法是删除一些jar(甚至单个类文件)并尝试您的应用程序是否仍在工作。但我认为这不是一个很好的方式......
答案 2 :(得分:0)
我想不出比ProGuard更好的工具。
ProGuard 是一个免费的Java类文件收缩器,优化器,混淆器和预验证程序。它检测并删除未使用的类,字段,方法和属性。它优化字节码并删除未使用的指令。它使用简短的无意义名称重命名剩余的类,字段和方法。最后,它预先验证了Java 6或Java Micro Edition的已处理代码。