使用 sonar checkstyle 插件向@SuppressWarnings 致敬
Honoring @SuppressWarnings with the sonar checkstyle plugin
是否有可能使用 Checkstyle 插件配置 SonarQube 5.1 以遵守 @SuppressWarnings("deprecation")
注释。我不想关闭 'Avoid use of deprecated methods' 规则,我只想让 SonarQube 尊重 @SuppressWarnings
注释。
我有一个 Java 代码,我需要在其中使用已弃用的 createValidator()
方法,如下所示:
@SuppressWarnings("deprecation")
@Override
public javax.xml.bind.Validator createValidator() throws JAXBException {
return contextDelegate.createValidator();
}
Java编译器在编译代码时没有警告,但不幸的是带有CheckStyle插件的SonarQube出现问题:
squid:CallToDeprecatedMethod
Avoid use of deprecated methods
Squid是Sonar Rule的名称或编号,与checkstyle无关,所有checkstyle规则详见http://checkstyle.sourceforge.net/checks.html
乌贼是另一种野兽。正如 SonarQube docs 中所建议的,您必须使用稍微不同的语法,例如:
@SuppressWarnings("squid:CallToDeprecatedMethod")
字符串squid:CallToDeprecatedMethod
是SonarQube 规则键。
不幸的是,这意味着添加两个注释以有效抑制弃用警告。但是 afaik,这是禁用规则的唯一方法。
是否有可能使用 Checkstyle 插件配置 SonarQube 5.1 以遵守 @SuppressWarnings("deprecation")
注释。我不想关闭 'Avoid use of deprecated methods' 规则,我只想让 SonarQube 尊重 @SuppressWarnings
注释。
我有一个 Java 代码,我需要在其中使用已弃用的 createValidator()
方法,如下所示:
@SuppressWarnings("deprecation")
@Override
public javax.xml.bind.Validator createValidator() throws JAXBException {
return contextDelegate.createValidator();
}
Java编译器在编译代码时没有警告,但不幸的是带有CheckStyle插件的SonarQube出现问题:
squid:CallToDeprecatedMethod
Avoid use of deprecated methods
Squid是Sonar Rule的名称或编号,与checkstyle无关,所有checkstyle规则详见http://checkstyle.sourceforge.net/checks.html
乌贼是另一种野兽。正如 SonarQube docs 中所建议的,您必须使用稍微不同的语法,例如:
@SuppressWarnings("squid:CallToDeprecatedMethod")
字符串squid:CallToDeprecatedMethod
是SonarQube 规则键。
不幸的是,这意味着添加两个注释以有效抑制弃用警告。但是 afaik,这是禁用规则的唯一方法。