2

我正在尝试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
4

2 回答 2

7

只是有同样的问题。我看到该文件已在 5 天前更改。

您需要使用来自同一版本的 checkstyle 的文件,例如,对于 checkstyle 的 8.12 版本,在 git 上选择带有标签 8.12 的分支

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

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

希望它有帮助:)

于 2019-08-30T14:37:32.090 回答
4

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

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

所以你需要使用checkstyle.xmlwhich 属于v9.19 checkstyle

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

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.1.0</version>
    <dependencies>
        <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>...choose your version...</version>
        </dependency>
    </dependencies>
</plugin>

更多详细信息,请查看官方文档

于 2019-09-24T15:00:20.293 回答