我在git仓库的ant构建中发现了一个奇怪的行为。我是这样做的:我在git存储库中有两个分支,"master"one_answers"dev",我在最终发布之前提交所有更改。几次提交后,我发现自己遇到了这种情况:
*----*---------*-----* dev
| | |
| (commit) (commit)
master
在dev分支中,我用ant脚本构建了一个jar,然后保存起来以备以后使用。然后签出master,执行"merge dev"(使用fast forward),并使用相同的脚本再次构建jar文件。
如果我尝试用winmerge比较两个jar(一个来自dev分支,一个来自"合并"的master),我发现一些类文件具有不同的内容。
我真的不明白发生了什么,不应该是两个罐子相同,因为他们是从相同的来源?我做错了什么?
根据这个问题
相同的javac编译器是否可以编译相同的源文件集,但产生不同校验和的类文件?
类文件的某些方面依赖于源文件编译的顺序。最重要的是:Winmerge会忽略jar文件中的不同时间戳吗?