git签出后Ant编译错误的版本



我在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文件中的不同时间戳吗?

相关内容

  • 没有找到相关文章