我有一个现有的项目,我试图将checkstyle检查作为构建的一部分添加。我看到以下输出:
A.java:15:1: Line contains a tab character.
B.java:16: Line has trailing spaces.
A.java
中报告的错误违反了我的组织遵循的编码标准。因此,我想单独跳过项目中所有文件的规则。
有人可以建议我如何完成这项工作?
答案 0 :(得分:1)
要在pom.xml中定义自定义Checkstyle检查器配置,请使用checkstyleRules参数。
允许制表符使用FileTabCharacter模块
<module name="FileTabCharacter">
<property name="eachLine" value="false"/>
</module>
答案 1 :(得分:0)
Checkstyle没有提供类似“使用此配置,除以下规则”之类的选项。相反,您必须提供自定义规则集,其中仅包含您要使用的规则。
您可以指定Checkstyle Maven插件应使用的规则配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.12.1</version>
<configuration>
<configLocation>checkstyle.xml</configLocation>
</configuration>
</plugin>
在引用的 checkstyle.xml 中,您只需删除不需要的规则即可。在您的情况下,删除说:
的行<module name="FileTabCharacter"/>
Checkstyle只执行配置中提到的明确规则。这是how to write a checkstyle.xml。默认规则文件为this one。
答案 2 :(得分:0)
Checkstyle 3.2 添加了对 SuppressionFilter 的支持。公共 Maven 存储库列出的发布日期为 2005 年 11 月 8 日,但他们也列出了其他几个版本的相同发布日期,因此据推测,这是某些迁移的日期,但该版本至少从那时起就可用。 maven-checkstyle-plugin 中的默认 Checkstyle 版本为 4.1 at least since January of 2006。
您可以通过 Maven configure the suppression filter,独立于其他答案引用的 checkstyle 配置 XML。
像这样的抑制配置应该有助于解决您在问题中分享的场景:
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
"-//Checkstyle//DTD SuppressionFilter Configuration 1.0//EN"
"https://checkstyle.org/dtds/suppressions_1_0.dtd">
<suppressions>
<suppress checks="FileTabCharacter" files=".*\.java" />
</suppressions>
答案 3 :(得分:-1)
Checkstyle错误并不严重。你可以禁用checkstyle插件,把
<plugin> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin>
在pom.xml文件中