如何强制使用@Override注释?

是否有一个静态分析工具可以一致地强制使用@Override注释,可以在IDE之外运行? CheckStyle有一个MissingOverride检查,但它只适用于使用@inheritDoc Javadoc标记的方法。 我正在寻找一种可以在持续集成机器上的新构建配置中运行的工具。

我正在使用Sonar,它给了我警告但最重要的是我正在使用eclipse(我的团队也是如此)并且我已经设置了一个选项“添加缺失@Overrides”来完成保存操作。

一种方法是使用TeamCity的“Inspection”跑步者。 我不确定它是否真的有资格在IDE之外运行,因为它是在IntelliJ中配置的,它通过在TeamCity端以无头模式运行IntelliJ来工作。

Error Prone有一个MissingOverride模式似乎在编译时评估了errorprone。 默认情况下,这是一个警告,但我将其配置为错误。

编辑: PMD现在有一个MissingOverride规则 。

PMD或Findbugs怎么样? PMD使您甚至可以编写自己的规则(如果它在默认规则集中不是一次性的)。

https://pmd.github.io/pmd-6.3.0/pmd_userdocs_extending_writing_pmd_rules.html

在IntelliJ 2017上,转到设置 – >编辑器 – >检查 – >缺少@Override注释

图片示例0(没有足够的信誉发布图片)