我正在尝试通过遵循官方文档,像以下那样在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
答案 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。