gpt4 book ai didi

java - 抑制某些文件的特定 checkstyle 规则的正确语法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:40:26 29 4
gpt4 key购买 nike

我在我的 java 项目中使用 Maven 3Checkstyle 2.9.1 并且我有一个我们正在使用的通用 checkstyle 配置在其他几个项目中也是如此。为了避免将该配置文件复制和编辑到我自己的项目中,我使用了一个抑制文件来禁用某些包(生成的代码)中的所有检查。

现在我想抑制所有文件中的特定规则。

这是我的压制文件:

<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress files="my[\\/]generated[\\/]code[\\/]package" checks="."/>
<suppress files=".*\\.java$" checks="IndentationCheck"/>
<suppress files=".*\\.java$" checks="LineLengthCheck"/>
<suppress files=".*\\.java$" checks="ExplicitInitializationCheck"/>
<suppress files=".*\\.java$" checks="MemberNameCheck"/>
</suppressions>

这是我的 POM:

...
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<configLocation>${checkstyle.ruleset}</configLocation>
<suppressionsLocation>${checkstyle.suppressions}</suppressionsLocation>
</configuration>
</plugin>
</plugins>
</build>

我在打电话

mvn checkstyle:checkstyle

生成报告,但被抑制的警告仍然存在。

我在这里做错了什么?

最佳答案

好的,我终于设法为我的 checkstyle 配置构建了一个有效的抑制文件。

我的最初的问题是正则表达式,所以我现在使用 files="而不是 files=".*\\.java$" ." 禁止对所有文件进行特殊检查。我还禁止对某些文件进行所有检查。

以下是我的压制文件中的一些示例:

<?xml version="1.0"?> suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<!-- suppress certain checks on all files in a package -->
<suppress files="my[\\/]super[\\/]package[\\/]name" checks="ModifierOrderCheck|NeedBracesCheck|MagicNumberCheck"/>
<!-- suppress all checks on all files in a package -->
<suppress files="another[\\/]super[\\/]package[\\/]of[\\/]mine" checks=".*"/>
<!-- suppress certain checks on all files -->
<suppress files="." checks="IndentationCheck"/>
<suppress files="." checks="LineLengthCheck"/>
<suppress files="." checks="ExplicitInitializationCheck"/>
<suppress files="." checks="MemberNameCheck"/>
<suppress files="." checks="FinalClassCheck"/>
</suppressions>

如果您在配置的 Maven 部分需要帮助,请参阅 answer来自@Mawia。

关于java - 抑制某些文件的特定 checkstyle 规则的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13874582/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com