本文介绍了通过声纳checkstyle插件向@SuppressWarnings致敬的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 是否可以使用Checkstyle插件配置SonarQube 5.1,以兑现 @SuppressWarnings( deprecation)批注。我不想关闭避免使用不推荐使用的方法规则,我只是想让SonarQube兑现 @SuppressWarnings 批注。 我有一个Java代码,需要在其中使用不推荐使用的 createValidator()方法,如下所示: @SuppressWarnings( deprecation) @Override public javax.xml.bind.Validator createValidator()抛出JAXBException {返回contextDelegate.createValidator(); } Java编译器在编译代码时不会发出警告,但不幸的是,带有CheckStyle插件的SonarQube出现了问题: squid:CallToDeprecatedMethod 避免使用不建议使用的方法 解决方案乌贼是另一种野兽。根据 SonarQube文档中的建议,您必须使用语法略有不同,例如: @SuppressWarnings( squid:CallToDeprecatedMethod) 字符串 squid:CallToDeprecatedMethod 是SonarQube 规则键。 不幸的是,这意味着添加两个注释可以有效地抑制弃用警告。但是afaik,这是禁用规则的唯一途径。 Is there any possibility to configure SonarQube 5.1 with Checkstyle plugin to honor the @SuppressWarnings("deprecation") annotation. I do not want to turn off 'Avoid use of deprecated methods' rule, I just want to SonarQube honor the @SuppressWarnings annotation.I have a Java code in which I need to use deprecated createValidator() method as following:@SuppressWarnings("deprecation")@Overridepublic javax.xml.bind.Validator createValidator() throws JAXBException { return contextDelegate.createValidator();}Java compiler does not warning when compiling code, but unfortunately SonarQube with CheckStyle plugin rise a issue:squid:CallToDeprecatedMethodAvoid use of deprecated methods 解决方案 Squid is a different kind of beast. As suggested in the SonarQube docs, you'll have to use a slightly different syntax, e.g.:@SuppressWarnings("squid:CallToDeprecatedMethod")The string squid:CallToDeprecatedMethod is the SonarQube rule key.Unfortunately, this means adding two annotations to effectively suppress the deprecation warning. But afaik, it's the only way short of disabling the rule. 这篇关于通过声纳checkstyle插件向@SuppressWarnings致敬的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
06-04 00:15