问题标签 [maven-checkstyle-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
437 浏览

java - Eclipse Checkstyle Plugin 显示与 maven-checkstyle-plugin 不同的结果

最近我正在尝试在 Jenkins 上配置 Checkstyle(使用 maven checkstyle 结果)。我的问题是 eclipse checkstyle 显示不同数量的 checkstyle 违规。我正在为 Maven 和 Eclipse 使用带有 checkstyle 规则的相同 xml 文件。

Eclipse Checkstyle Plugin 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 中的外观:

我只使用 mvn clean install checkstyle:checkstyle 或在 jenkis 上运行 maven chestyle。我在 pom 中使用 maven 插件的最基本配置。如果需要,可以提供更多信息。

0 投票
0 回答
94 浏览

maven - Maven-checktyle-plugin 忽略配置中的排除项

我有这样的 checkstyle 插件配置 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${test.checkstyle.version}</version> <configuration> <enableRulesSummary>false</enableRulesSummary> <linkXRef>false</linkXRef> <encoding>UTF-8</encoding> <consoleOutput>true</consoleOutput> <logViolationsToConsole>true</logViolationsToConsole> <failsOnError>false</failsOnError> <failOnViolation>true</failOnViolation> <configLocation>${proj_basedir}/checkstyle.xml</configLocation> <suppressionsLocation>${proj_basedir}/checkstyle-suppressions.xml</suppressionsLocation> <includeTestSourceDirectory>true</includeTestSourceDirectory> <excludes>**/generated-sources/**/*.java</excludes> </configuration> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>6.13</version> <exclusions> <!-- MCHECKSTYLE-156 --> <exclusion> <groupId>com.sun</groupId> <artifactId>tools</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </plugin>

当我运行时,mvn compile checkstyle:checkstyle -nsu -Dskip.unit.tests我看到 checkstyle 对于存储在generated-sources文件夹中的文件失败。 在此处输入图像描述

我从项目的根目录和 pom xml 的插件部分中指定的插件运行此命令。我还尝试将路径exclude作为参数并获得相同的结果。还将 checkstyle 插件更新到最新版本。

0 投票
1 回答
244 浏览

maven - 为什么只能在 Maven 插件依赖项中指定并不是?

为什么<dependencies>for a<plugin>只能在该<build>部分中定义,而不是 的<reporting>部分pom

  • 为什么 Mavenpom.xml语法不允许<dependencies>in <reporting>
    • 如果用户只想配置插件<reporting>并设置依赖版本怎么办?
  • <build>本节中的插件如何/为什么使用依赖信息<reporting>

找到的文档,我在下面解释了为什么它没有回答这个问题(文档中的混乱实际上是我在这里问这个问题的原因!)。

根据我的阅读、观察和尝试,这是我目前的理解:

脚本部分中的插件<build>可以覆盖默认的依赖信息,这将影响该<reporting>部分中插件的依赖关系。因此,插件依赖信息不需要在<reporting>section中,只需要在<build>section中即可。

这个对吗?文档中是否有说明这一点的地方?<build>为了正确理解和<reporting>插件配置之间的关系,我缺少哪些细节<dependencies>

来自 Maven 文档

它在 Maven 文档中说Using the Reporting vs the Build Tag

使用<reporting>标签 VS<build>标签在 pom 的or元素中
配置报告插件没有相同的行为! <reporting><build>

mvn site
它仅使用在<configuration>元素中指定的每个报告插件的<reporting>元素中定义的参数,即站点总是忽略在 中<configuration>指定的每个插件的元素中定义的参数<build>

文档明确说不在and<configuration>之间共享,但我的问题是关于以及如何/为什么它们只在and never中声明。<build><reporting><dependencies><build><reporting>

似乎在中指定的依赖项<build> 确实会转移到<reporting>插件中。但这是我想要确认/解释的一点。

最小的例子

我遇到了这个问题,在运行时升级 CheckStyle 插件的依赖项以便与一起使用mvn site,所以这个最小的示例 POM 以 Checkstyle 插件为例演示了这个问题。

0 投票
1 回答
35 浏览

java - BaseEvents 子类的 Checkstyle

我正在使用Java 的checkstyle插件。但是我想设计一个检查样式:BaseEvents 的子类应该只将类变量作为 final。

0 投票
0 回答
215 浏览

maven - 在构建过程中运行 mvn checkstyle 时构建成功

我正在运行 mvn checkstyle 作为构建的一部分,并在 pom.xml 中配置了插件,使得构建应该失败。但是当我运行 mvn clean install 命令时,构建会成功。这是 pom.xml 文件:

在 pom.xml 中添加报告部分后,我运行了 mvn site 命令,然后在构建中添加了 checkstyle 插件后,我运行了 mvn clean install。但是构建获得了成功。没有 checkstyle.xml,创建了 checkstyle-suppressions.xml。这是java代码。

有人能帮我吗?

0 投票
1 回答
67 浏览

java - 如何在googles checkstyle.xml中的方法之前添加一个标签

因此,当一种方法在(4 个空格)中超过一个选项卡时,我希望 maven checkstyle 插件构建失败,简单示例是

我找不到能解决这个问题的人,所以我需要帮助

0 投票
1 回答
977 浏览

checkstyle - checkstyle 不允许 SuppressWarnings 注释,除非附近有注释

在我们的项目中,我们有时必须抑制一些警告(例如,“WeakerAccess”可能会被抑制,因为项目也被用作另一个项目中的库,或者“表达式始终为假”对于instanceof从库抛出的检查异常掩盖了抛出该异常的事实)。

另一方面,仅仅添加一个抑制是不好的,因为可能不清楚它为什么存在。所以,我想添加一个 checkstyler 规则,如果附近有评论,则只允许 SuppressWarnings 注释。这应该足以让人们开始添加解释。

但我找不到办法做到这一点。有这个块:

以及一些关于关闭 checkstyler 的特殊注释的东西,但这只是另一个抑制警告的事情,也需要解释......但是如果附近有任何评论,有没有办法说抑制是可以的(在同一行之前或同一行上)?

0 投票
0 回答
600 浏览

maven - 在 Jenkins 中使用 checkstyle 时出现 NullPointerException

我在我的 Jenkins 服务器中使用静态分析工具 checkstyle 在构建后对私有 maven 项目运行静态分析。我已经在 J​​enkins 的 Post Build 设置中完成了配置。

有一个格式正确的 checkstyle 配置文件,名为csc_checkstyle.xml,它在 Jenkins 的 Post-Build 部分中设置 我们已将 checkstyle 插件和下一代警告添加到 Jenkins。checkstyle 配置文件设置正确。

当构建运行并触发此插件时,我们会收到以下错误:

这里要注意的是,配置文件的路径/var/lib/jenkins/workspace/iTrust/iTrust2/src/test/resources/reporting/csc_checkstyle.xml是正确的。

有谁知道为什么NullPointerException会抛出 a ?文件的格式似乎也正确。

csc_checkstyle.xmlGoogle 默认 checkstyle 配置的原始版本

0 投票
1 回答
12463 浏览

java - 找不到工件 com.sun:tools:jar:0

我正在尝试通过这样做来使用 checkstyle 和 findbugsmvn checkstyle:checkstyle但我有这个错误 这个错误

我的 JDK 中没有 tools.jar(我有 jdk-11.0.2)。

我从 2H 开始就在上面,请帮忙:/

0 投票
1 回答
1331 浏览

maven - 在詹金斯上运行时,Maven 站点插件失败

我正在运行生成 checkstyle 静态代码分析报告的 Maven 应用程序“DemoApp”。当我在eclipse上运行它时它可以正常工作,但是当我在jenkins上构建它时会出现以下错误

和以下例外:

我在 pom.xml 中添加了以下插件