maven-checkstyle-plugin无法执行自定义规则

时间:2019-08-30 08:34:02

标签: maven-checkstyle-plugin

我正在尝试通过遵循官方文档,像以下那样在maven-checkstyle-plugin中添加作为构建检查的一部分。但是我尝试,我无法使其与自定义规则一起运行。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <configLocation>checkstyle.xml</configLocation>
                <encoding>UTF-8</encoding>
                <consoleOutput>true</consoleOutput>
                <failsOnError>true</failsOnError>
                <linkXRef>false</linkXRef>
            </configuration>
            <executions>
                <execution>
                    <id>validate</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>check</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

checkstyle.xml仅包含此google_checks.xml中的确切内容。

执行mvn checkstyle:check后,我总是被

击中

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check (default-cli) on project XXXXXXX: Failed during checkstyle configuration: cannot initialize module LineLength - Property 'fileExtensions' does not exist, please check the documentation

2 个答案:

答案 0 :(得分:3)

遇到同样的问题。 我看到文件在5天前已更改。

您需要使用同一版本的Checkstyle文件,例如,对于8.12版本的Checkstyle,请在git上选择标签为8.12的分支

https://github.com/checkstyle/checkstyle/blob/checkstyle-8.12/src/main/resources/google_checks.xml

此文件的正确语法定义适用于版本8.12,例如同一文件的最新版本不适用于版本8.12

希望对您有所帮助:)

答案 1 :(得分:2)

这里的问题是最新的v3.1.0 maven-checkstyle-plugin仅支持checkstyle版本v8.19:

  

此版本的插件默认使用Checkstyle 8.19,   需要Java8。但是您可以升级运行时使用的版本。

因此,您需要使用属于checkstyle.xml的{​​{1}}。

但是好消息是您可以重新配置Maven插件:

v9.19 checkstyle

有关更多详细信息,请查看官方documentation