问题标签 [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.
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 插件的最基本配置。如果需要,可以提供更多信息。
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 插件更新到最新版本。
maven - 为什么只能在 Maven 插件依赖项中指定并不是?
为什么<dependencies>
for a<plugin>
只能在该<build>
部分中定义,而不是 的<reporting>
部分pom
?
- 为什么 Maven
pom.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 插件为例演示了这个问题。
java - BaseEvents 子类的 Checkstyle
我正在使用Java 的checkstyle插件。但是我想设计一个检查样式:BaseEvents 的子类应该只将类变量作为 final。
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代码。
有人能帮我吗?
java - 如何在googles checkstyle.xml中的方法之前添加一个标签
因此,当一种方法在(4 个空格)中超过一个选项卡时,我希望 maven checkstyle 插件构建失败,简单示例是
我找不到能解决这个问题的人,所以我需要帮助
checkstyle - checkstyle 不允许 SuppressWarnings 注释,除非附近有注释
在我们的项目中,我们有时必须抑制一些警告(例如,“WeakerAccess”可能会被抑制,因为项目也被用作另一个项目中的库,或者“表达式始终为假”对于instanceof
从库抛出的检查异常掩盖了抛出该异常的事实)。
另一方面,仅仅添加一个抑制是不好的,因为可能不清楚它为什么存在。所以,我想添加一个 checkstyler 规则,如果附近有评论,则只允许 SuppressWarnings 注释。这应该足以让人们开始添加解释。
但我找不到办法做到这一点。有这个块:
以及一些关于关闭 checkstyler 的特殊注释的东西,但这只是另一个抑制警告的事情,也需要解释......但是如果附近有任何评论,有没有办法说抑制是可以的(在同一行之前或同一行上)?
maven - 在 Jenkins 中使用 checkstyle 时出现 NullPointerException
我在我的 Jenkins 服务器中使用静态分析工具 checkstyle 在构建后对私有 maven 项目运行静态分析。我已经在 Jenkins 的 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.xml
是Google 默认 checkstyle 配置的原始版本
java - 找不到工件 com.sun:tools:jar:0
我正在尝试通过这样做来使用 checkstyle 和 findbugsmvn checkstyle:checkstyle
但我有这个错误
这个错误
我的 JDK 中没有 tools.jar(我有 jdk-11.0.2)。
我从 2H 开始就在上面,请帮忙:/
maven - 在詹金斯上运行时,Maven 站点插件失败
我正在运行生成 checkstyle 静态代码分析报告的 Maven 应用程序“DemoApp”。当我在eclipse上运行它时它可以正常工作,但是当我在jenkins上构建它时会出现以下错误
和以下例外:
我在 pom.xml 中添加了以下插件