为什么同一个 JAR 文件每次构建时都有不同的哈希值?

2023-12-19

我一直在考虑检查 jar 文件的哈希值以确定它是否已更改,但事实证明,每次构建同一个 jar 文件时,它都有不同的哈希值(从 eclipse 导出为 jar 文件,或使用 maven 构建它) )。我已经删除了清单文件的日期值和内容,但它仍然不同。字节码生成中是否有包含时间戳或其他内容的内容?


JAR 文件是一个 ZIP 文件,它包含最后修改日期本地文件头 https://en.wikipedia.org/wiki/Zip_(file_format)#File_headers和中央目录文件头。这将导致您的构建产生不同的哈希值。

如果您在完全相同的文件集(具有相同的文件日期)上运行 JAR 命令并跳过清单文件创建,它应该会为您提供完全相同的 JAR 文件(如果 ZIP 内的文件顺序没有更改)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么同一个 JAR 文件每次构建时都有不同的哈希值? 的相关文章

随机推荐