Sonar Checkstyle导入:无法在质量配置文件上激活规则模板

时间:2014-11-12 11:40:57

标签: sonarqube checkstyle

我正在尝试使用现有的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

有什么问题?

2 个答案:

答案 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>