Java 更好地压缩WAR/EAR文件?

Java 更好地压缩WAR/EAR文件?,java,jakarta-ee,jar,compression,Java,Jakarta Ee,Jar,Compression,有没有办法更好地压缩WAR文件(基本上是一个包含许多其他ZIP文件的ZIP文件,其中包含java*.class文件) ZIP不利用文件间的相似性(而且非常旧) 一些归档程序在归档之前先解压缩用低级方法压缩的文件(并在取消归档时恢复旧状态) 这当然是出于存档目的,因为应用服务器需要实际的WAR/EAR文件。使用7-zip的功能进行一些额外的压缩。该算法在压缩方面比大多数zip实用程序更有效,并且仍然具有标准和可读性的优势。@Necreaux它没有多大帮助。示例:原始WAR是29.8MB。把它放进7

有没有办法更好地压缩WAR文件(基本上是一个包含许多其他ZIP文件的ZIP文件,其中包含java*.class文件)

ZIP不利用文件间的相似性(而且非常旧)

一些归档程序在归档之前先解压缩用低级方法压缩的文件(并在取消归档时恢复旧状态)


这当然是出于存档目的,因为应用服务器需要实际的WAR/EAR文件。

使用7-zip的功能进行一些额外的压缩。该算法在压缩方面比大多数zip实用程序更有效,并且仍然具有标准和可读性的优势。@Necreaux它没有多大帮助。示例:原始WAR是29.8MB。把它放进7z可以得到30.2MB。提取WAR(33.6MB)并用7z:29.1MB压缩文件。提取(和删除)每个包含的JAR(在/WEB-INF/lib中)会得到71.2MB,用7z压缩到13.8MB。所以压缩已经压缩的数据并没有多大用处。另一方面,重新压缩将大小减半(与原始战争相比)!是的,您必须递归地提取和重新压缩WAR文件中的所有归档文件,这将包括JAR、zip文件等。正如您所说,压缩已经压缩的数据没有任何作用。