【问题标题】:What is the maximum number of files per jar?每个 jar 的最大文件数是多少?
【发布时间】:2012-03-25 20:28:03
【问题描述】:

我想知道每个 jar 是否允许最大文件数,之后您可能会遇到类路径问题,例如未考虑到的类?

【问题讨论】:

  • 这与您的问题相似吗? stackoverflow.com/questions/3057841/…
  • 没有你的链接与类路径长度有关
  • 我怀疑拥有这么多文件不是​​一个好主意,因为这是您需要担心的事情。
  • 在相关说明中,类路径上的 JAR 文件的数量也可能成为一个问题。我从事过一个必须实现自定义类加载器的项目,因为子项目中包含的 JAR 文件数量太大。
  • 有趣,@MichaelBorgwardt 最多有多少个 jar 文件?

标签: java jar


【解决方案1】:

jar 格式只是重新命名的 zip 格式,因此它继承了该格式的限制。

原始的 zip 格式有 65535 个条目的限制,因此在 Java 6 和更早版本中,您最多可以拥有那么多的类或其他文件,组合起来。许多工具还包括作为整体的目录,这减少了可用于类和其他文件的整体。

在 java 7 中,zip64 受支持,但限制更高。

我怀疑失败模式不会随机丢失文件,而是在生成 jar 时失败。

【讨论】:

    【解决方案2】:

    .jar 文件实际上只是一个带有特殊清单的 .zip 文件。所以限制与 .zip 文件相同

    • 最高支持 Java 6,支持普通 zip 文件,最大 4gb 大小和 65535 个文件
    • 从 Java 7 开始,zip64 格式支持 16 exabyte 容量。对于当前硬件的正常使用,这实际上是无限的(它大约是互联网上所有内容的大小)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 2017-06-04
      相关资源
      最近更新 更多