我正在尝试使用现有的checkstyle规则集创建新的质量配置文件,但会收到错误消息:
无法在质量配置文件中激活规则模板: CheckStyle的:com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck
我使用checkstyle officail site中最简单的规则集示例:
<module name="Checker">
<module name="JavadocPackage"/>
<module name="TreeWalker">
<module name="AvoidStarImport"/>
<module name="ConstantName"/>
<module name="EmptyBlock"/>
</module>
</module>
版本:带Checkstyle插件2.1.1的Sonar 4.5.1
有什么问题?
答案 0 :(得分:3)
那些Checkstyle规则(例如&#34; ConstantNameCheck&#34;)在SonarQube Checkstyle插件中定义了多个基数。这意味着应该可以激活几个&#34;实例&#34;这些规则的参数值不同。
在SonarQube 4.4+中,不再可能对这些规则进行多次激活。它们被视为&#34; rule templates&#34;,这意味着您必须从中创建自定义规则(带有显式参数),以便能够在质量配置文件中激活它们。
所有内容都在Rules documentation page上解释。
答案 1 :(得分:0)
看看这个。
http://dist.sonarsource.com/reports/coverage/checkstyle.html
当您使用此参数更改它时,它可以正常工作。 例如,checkstyle xml文件中的ConstantName是S00115。 可能这是解决方案。
示例:
<module name="S00115"/> <!--ConstantName-->
<module name="S00117"> <!--LocalFinalVariableName-->
<property name="format" value="^[a-z_][a-zA-Z0-9]*$"/>
</module>