最近,我正在尝试在Jenkins上配置Checkstyle(正在使用maven checkstyle结果)。我的问题是,eclipse checkstyle显示了不同数量的checkstyle违规。我在Maven和Eclipse中都使用了带有Checkstyle规则的xml文件。
Eclipse Checkstyle插件8.12.0-约500次违规 maven-checkstyle-plugin 3.0.0-超过5000次违反
对于日食错误,我主要可以看到NPath复杂性和“字符串在文件中出现X次”的警告。
对于Maven chekstyle 2000,警告为“行中有尾随空格”(日食中无此类警告)。也有许多ConstantNameCheck,RegexpSinglelineJavaCheck,VisibilityModifierCheck警告。
我认为这两个插件的工作方式不同,但是有什么办法使它显示类似的警告?
例如: 在简单的项目模块中,由于NPath复杂性,我遇到了4次日食违规事件。对于文件TestHandler.java,它显示“ NPath复杂度为13,允许为8”。在行家中,我有6次违规,大多数违规。唯一相似的说法是TestHandler.java中的同一短语“允许的NPath复杂度为13为4”。
这是两种检查样式都在使用的xml中检查兼容性的方式:
</module>
<module name="CyclomaticComplexity">
<property name="max" value="6" />
</module>
<module name="NPathComplexity">
<property name="max" value="8" />
</module>
我仅通过使用mvn clean install checkstyle:checkstyle或在jenkis上运行maven chestyle。 我在pom中使用了Maven插件的最基本配置。 如果需要,可以提供更多信息。
答案 0 :(得分:0)
我按照您的建议对主pom进行了更改。我还从checkstyle.xml文件中删除了Javadoc违规行为。目前在Eclipse上我有〜510,在Intelij上有〜3100,在Maven Checkstyle中有〜3800。当我检查时,这三个方面的违规情况有所不同。这是我的Checkstyle POM配置的片段:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.18</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>common\code-style\checkstyle2.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>