自定义checkstyle配置忽略标准规则?

时间:2016-01-18 11:06:44

标签: java maven checkstyle

我正在为我的项目设置代码样式检查。我想要自定义一些标准规则。为此,我创建了一个名为checkstyle.xml的文件:

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.3//EN" 
    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
    <module name="SuppressionFilter">
        <property name="file" value="${checkstyle.suppressions.file}"/>
    </module>
    <module name="TreeWalker">
        <module name="HiddenField">
            <property name="ignoreSetter" value="true"/>
            <property name="ignoreConstructorParameter" value="true"/>
        </module>
    </module>
</module>

在项目的pom.xml中,我配置了maven checkstyle插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>2.17</version>
    <executions>
        <execution>
            <phase>install</phase>
            <goals>
                <goal>checkstyle</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <consoleOutput>${checkstyle.printErrors}</consoleOutput>
        <configLocation>checkstyle.xml</configLocation>
        <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
        <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
    </configuration>
</plugin>

现在,只应用HiddenField检查,关闭sun_checks.xml的所有其他检查。如果我在插件设置中关闭自定义checkstyle.xml,则会再次应用标准检查。

问题是,如何应用标准检查,修改其中一个或部分的设置?

1 个答案:

答案 0 :(得分:1)

您可以将standard configuration file本地复制为您自己的 checkstyle.xml ,然后进行修改。

请务必使用适合您的Checkstyle版本的那个。您正在使用的Maven Checkstyle插件2.17使用Checkstyle 6.11.2(reference)。只需修改配置文件URL中的版本号即可下载正确的版本。