我有一个基于3个项目的Java项目。我们希望通过外部父pom管理所有内容,我们可以从中扩展各种相关项目。因此,父模块本身就存在,所有子模块都只指向父工件。
我已将checkstyle配置为在父级中运行,以便我们最终可以在系列中的任何项目上强制执行代码样式,父级中的定义是这样的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<logViolationsToConsole>true</logViolationsToConsole>
<!-- checkstyle configuration starts here -->
<checkstyleRules>
<module name="Checker">
<!-- rule for no tab characters in a file -->
<module name="FileTabCharacter" />
</module>
</checkstyleRules>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
<goals>
<goal>checkstyle</goal>
</goals>
</execution>
</executions>
</plugin>
正如您所看到的,目前只配置了一条规则。但是,我的构建失败,因为正在应用其他规则,如目标目录中生成的checkstyle-checker.xml的内容所证明。是否有应用于checkstyle插件的默认值?如果是这样,我该如何覆盖它们?