作者:喜欢在他耳边唱歌 | 来源:互联网 | 2023-02-03 19:16
我一直在考虑检查jar文件的哈希值,以确定它是否已经改变,但事实证明,每次构建它时,相同的jar文件都有不同的哈希值(从eclipse导出为jar文件,或者使用maven构建它) ).我删除了清单文件的日期值和内容,但它仍然不同.字节码生成中是否包含时间戳或其他内容?
1> wero..:
JAR文件是ZIP文件,它包含其本地文件头和中央目录文件头中的最后修改日期.这将导致您的构建的不同哈希.
如果在完全相同的文件集上运行JAR命令(具有相同的文件日期)并跳过清单文件创建,它应该为您提供完全相同的JAR文件(如果ZIP中的文件顺序不会更改).