Java 在一个jar中有两个同名文件

Java 在一个jar中有两个同名文件,java,jar,Java,Jar,可能重复: 您好,我有一个jar,其中包含共享相同文件名的文件: /ro/sv/base/Monkey.png 有人能解释一下发生了什么事吗 我在这里有一个jar:[已从Ant jar任务文档中删除] 请注意,zip格式允许多个相同的文件 存在于单个存档中的完全限定名称。这是 记录为对不知情的用户造成各种问题。如果你 要避免这种行为,必须将重复属性设置为 默认值“add”以外的值 简而言之,在一个.zip文件中可以有多个具有相同完全限定名的文件,这就是它的工作方式,如果不想有这种行为

可能重复:

您好,我有一个jar,其中包含共享相同文件名的文件:

    /ro/sv/base/Monkey.png
有人能解释一下发生了什么事吗


我在这里有一个jar:[已从Ant jar任务文档中删除]

请注意,zip格式允许多个相同的文件 存在于单个存档中的完全限定名称。这是 记录为对不知情的用户造成各种问题。如果你 要避免这种行为,必须将重复属性设置为 默认值“add”以外的值


简而言之,在一个.zip文件中可以有多个具有相同完全限定名的文件,这就是它的工作方式,如果不想有这种行为,请不要添加第二个.png。

来自Ant Jar任务文档

请注意,zip格式允许多个相同的文件 存在于单个存档中的完全限定名称。这是 记录为对不知情的用户造成各种问题。如果你 要避免这种行为,必须将重复属性设置为 默认值“add”以外的值


简而言之,在一个.zip文件中可以有多个具有相同完全限定名的文件,这就是它的工作方式,如果不想有这种行为,请不要添加第二个.png。

jar是如何创建的?如果使用java.util.zip API“手动”构建jar,您可以将任何文件组合放入其中。可能有些zip工具允许您添加另一个与现有成员同名的成员。看起来路径实际上不同:
ro/sv/base/Monkey.png
/ro/sv/base/Monkey.png
。一个是绝对的,一个是相对的。@Banthar-是的,我只是用十六进制来观察它,似乎是这样,但我不能确定,因为我没有参考目录布局规范。不确定你是如何做到这一点的,除了使用java.util.zip,还有.aa。。伙计们,你是如何看到这些差异的?jar是如何创建的?如果你使用java.util.zip API“手动”构建一个jar,你可以将任何想要的文件组合放入其中。可能有些zip工具允许您添加另一个与现有成员同名的成员。看起来路径实际上不同:
ro/sv/base/Monkey.png
/ro/sv/base/Monkey.png
。一个是绝对的,一个是相对的。@Banthar-是的,我只是用十六进制来观察它,似乎是这样,但我不能确定,因为我没有参考目录布局规范。不确定你是如何做到这一点的,除了使用java.util.zip,还有.aa。。伙计们,你们是怎么看待这些差异的?