有哪些工具可用于审核Java接口的更改?

时间:2010-01-12 11:47:12

标签: java

有谁知道有哪些工具可以总结不同版本之间Java接口的变化? (通过接口我的意思是一般类型的暴露功能,而不是特定的语言结构。)

我想要的是一些程序,它采用相同包或包树的两个版本并输出如下内容:

  • 在类Thing上删除了构造函数(String,int)
  • 类OtherThing上不推荐使用构造函数(String)
  • 方法在类SomethingElse上添加了void setId(String)

或更复杂的东西,以上只是我最初的想法。解决方案可以在字节码或源代码上工作,我不介意。

4 个答案:

答案 0 :(得分:2)

Clirr是一个检查Java库以获得与旧版本的二进制和源兼容性的工具。

Apache Commons使用它,它会创建reports like this (for Commons Lang)

答案 1 :(得分:1)

看看japitools。 GNU Classpath项目使用这些工具来比较它们的API,以便与不同版本的Sun Java类库签名兼容。

答案 2 :(得分:0)

您可以使用reflection实现自己的工具,尤其是在您要检查代码的不同更改时。它也适用于字节码。

答案 3 :(得分:0)

我过去曾使用过JDiff doclet这个。根据你正在做的事情,设置可能很痛苦,但我认为Ant任务运行得相当好。