Java 在没有版本更改的情况下检测不兼容的API更改

Java 在没有版本更改的情况下检测不兼容的API更改,java,maven,jenkins,compatibility,semantic-versioning,Java,Maven,Jenkins,Compatibility,Semantic Versioning,我在一个Java-Maven-Jenkins项目上使用语义版本控制,因此,每当完成不兼容的API更改时,都应该更改产品的主要版本。 我正在寻找一种自动化的方法来检测这样的变化,这样maven构建在发生变化时就会失败(甚至自动增加版本)。Google让我开始编写自己的maven enforcer插件规则,但我想问一下,是否有人知道任何可以帮助我的工具(Jenkins插件或类似的工具也可以工作)。一年过去了,但我希望这可以在将来帮助别人。 根据作者的评论,我发现: Clirr 命令行: Maven

我在一个
Java-Maven-Jenkins
项目上使用语义版本控制,因此,每当完成不兼容的API更改时,都应该更改产品的主要版本。
我正在寻找一种自动化的方法来检测这样的变化,这样maven构建在发生变化时就会失败(甚至自动增加版本)。Google让我开始编写自己的
maven enforcer插件
规则,但我想问一下,是否有人知道任何可以帮助我的工具(
Jenkins
插件或类似的工具也可以工作)。

一年过去了,但我希望这可以在将来帮助别人。 根据作者的评论,我发现:

Clirr

  • 命令行:
  • Maven插件:
  • SonarQube插件:
Java API合规性检查程序

  • 命令行:
Revapi(支持Java 8)

  • 主页:
  • Maven插件:
  • 传统信息:
japicmp(支持Java 8)

  • 命令行/Maven插件:

我建议看一看?我已经看了,但它没有达到我想要的效果。它检查您的代码是否根据旧的/新的依赖项API进行编译。还有clirr插件:它做了类似的事情。这正是我想要的,谢谢!你能把它作为一个答案吗?Revapi似乎是更好的选择。