2012-03-08 90 views
5

我想知道每个jar是否允许有最大数量的文件,然后你可以让类路径问题像不被考虑的类一样?每个jar的最大文件数是多少?

+0

这是与这个类似的东西吗? http://stackoverflow.com/questions/3057841/too-long-line-in-manifest-file-while-trying-to-create-jar – 2012-03-08 10:39:18

+0

没有你的链接与classpath有关吗? – 2012-03-08 10:40:42

+0

文件或Java类? – alexvetter 2012-03-08 10:50:48

回答

11

jar格式只是一种重新命名的zip格式,所以它继承了该格式的限制。

原来的zip格式有65535项的限制,所以在Java 6的总及更早版本,您最多可以有那么多的课或其他文件,合并。许多工具还包括目录作为entires,这减少了可用于类和其他文件的可用条目。

在Java 7中,zip64被支承,具有高得多的限制。

我怀疑故障模式,但是,不会是随机丢失的文件,但失败在罐子生成时间。

3

.jar文件实际上只是一个带有特殊清单的.zip文件。因此,限制是一样的.zip文件

  • 截至Java 6中,正常的zip文件支持,最大的4GB大小和65535文件
  • 从Java 7起,ZIP64格式支持类似16字节的容量。这对于当前硬件的正常使用是有效无限的(这是关于互联网上所有内容的大小)
相关问题