pom.xml
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.6</version>
<configuration>
<configLocation>/tdd-config/checkstyle.xml</configLocation>
<suppressionsLocation>/tdd-config/checkstyle-suppression.xml</suppressionsLocation>
<suppressionsFileExpression>/tdd-config/checkstyle-suppression.xml</suppressionsFileExpression>
</configuration>
</plugin>
...
</plugins>
checkstyle.xml和checkstyle-suppression.xml
如pom.xml中红色字体所示:/tdd-config/checkstyle.xml & /tdd-config/checkstyle-suppression.xml
checkstyle.xml和checkstyle-suppression.xml包含在tdd-config目录中,tdd-config目录和pom.xml在同一目录下
1. checkstyle.xml定义的代码检查规范内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
<property name="severity" value="warning"/>
<property name="localeCountry" value="US"/>
<property name="localeLanguage" value="en"/>
<module name="SuppressionFilter">
<property name="file" value="./tdd-config/checkstyle-suppression.xml" />
</module>
<module name="TreeWalker">
<property name="tabWidth" value="2"/>
<module name="MagicNumber">
<property name="ignoreNumbers" value="-1, 0, 1"/>
</module>
... ...
</module>
... ...
</module>
两点注意:
1)./tdd-config/checkstyle-suppression.xml: 剔除的特定包
2)仔细些会发现在checkstyle的配置中, "."代表的不是当前目录而是父目录,这一点和常识不太一致,但确实要这样配置
2. checkstyle-suppression.xml定义的剔除规则内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<!-- Suppress all checkstyle for autogenerated packages included digital such as: _2009, _2010, _bt_ .etc -->
<suppress checks="." files="[_]+[0-9]+"/>
<suppress checks="." files="[_]+[bt]+[_]+"/>
</suppressions>
Checkstyle in Hudson
非常简单不再详述