是否有一个比较/差异化两个Java包的好工具?

时间:2010-07-19 16:57:39

标签: java diff

我正在寻找一个工具,它可以让我高度了解两个相当大的Java包之间哪些文件不同。如果我可以深入研究单个文件那么这将是好的。如果可能的话,我不想逐个文件地去...任何想法?

感谢

9 个答案:

答案 0 :(得分:1)

Beyond compare(以及其他差异工具)也可以进行目录比较......

答案 1 :(得分:1)

如果您对API差异比内容差异更感兴趣,请查看JDiff

例如,Google Guava项目使用它来显示版本之间的变化。这是r06版本差异:http://guava-libraries.googlecode.com/svn/tags/release06/javadoc/jdiff/changes.html

答案 2 :(得分:1)

WinMerge是一个出色的Windows独立差异工具,我几乎用于所有源文件。它可以浏览文件夹结构(在您的情况下,您的Java包)。

如果您使用版本控制,它可以很好地与TortoiseSVN(也许是Tortoise家族中的其他人)集成。

答案 3 :(得分:1)

您可以使用pkgdiff工具来比较Java档案:

pkgdiff A.jar B.jar

有关args4j的信息,请参阅sample report

另请参阅japi-compliance-checker以了解Java档案中的API更改。

enter image description here enter image description here

答案 4 :(得分:0)

我在Linux上使用Kompare。只是一个diff GUI前端,可以递归地扩展目录。我相信还有很多其他人(我确定我已经在某个地方看过一个名单)。

答案 5 :(得分:0)

Eclipse效果很好。只需选择两个不同的包(按住Ctrl键,单击一个包,再单击另一个包),右键单击其中一个选定的包,转到'Compare With ...'子菜单,选择'Compare With彼此'。

答案 6 :(得分:0)

我也使用Araxis Merge来做这件事。它对于进行代码合并也很有帮助。它不是免费的(我认为大约80美元),但非常值得。

答案 7 :(得分:0)

我总是使用eclipses团队同步(对于包含的cvs;这需要签入一个修订版和另一个磁盘)与subclipse插件的subversion工作方式相同。

如果您使用的是Windows并且没有选中版本控制系统,则可以使用winmerge

答案 8 :(得分:0)

最后我检查kdiff3在* nix和windows上工作。