【发布时间】:2018-10-05 10:45:30
【问题描述】:
最近我正在尝试在 Jenkins 上配置 Checkstyle(使用 maven checkstyle 结果)。我的问题是 eclipse checkstyle 显示不同数量的 checkstyle 违规。我对 maven 和 eclipse 都使用了带有 checkstyle 规则的同一个 xml 文件。
Eclipse Checkstyle 插件 8.12.0 - 约 500 次违规 maven-checkstyle-plugin 3.0.0 - 超过 5000 次违规
对于 Eclipse 错误,我可以看到主要是 NPath 复杂性和“字符串在文件中出现 X 次”警告。
对于 Maven chekstyle 2000 警告是“行有尾随空格”(在 eclipse 中没有这样的警告)。还有很多 ConstantNameCheck、RegexpSinglelineJavaCheck、VisibilityModifierCheck 警告。
我假设这两个插件的工作方式不同,但有什么方法可以让它显示类似的警告?
例如: 在简单的项目模块中,由于 NPath 复杂性,我遇到了 4 次日食违规。对于文件 TestHandler.java,它显示“NPath Complexity is 13 allowed is 8”。在 maven 中,我遇到了 6 次违规,其中大多数是不同的。只有类似的说法是 TestHandler.java 中的相同短语“NPath Complexity is 13 allowed is 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 插件的最基本配置。 如果需要,可以提供更多信息。
【问题讨论】:
-
你在使用 maven pom 而不重载默认的 checkstyle 版本依赖吗?你能展示你的 POM sn-p 吗?
-
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-checkstyle-plugin</artifactId><version>3.0.0</version><configuration><configLocation>common\code-style\checkstyle.xml</configLocation></configuration>` ` -
抱歉格式化
-
如果您没有重载默认的 checkstyle 版本依赖项,那么您使用的是旧版本的 checkstyle(我相信是 6.18)。 maven-checkstyle-plugin 默认不使用最新的 checkstyle 版本。以github.com/sevntu-checkstyle/sevntu.checkstyle/blob/master/… 为例。
标签: java eclipse maven checkstyle maven-checkstyle-plugin