【发布时间】:2011-08-17 18:43:30
【问题描述】:
我正在尝试设置一个 maven 项目,以便能够使用两个不同的规则集运行 checkstyle:一个用于 main,一个用于测试。我想做的事情是这样的:
<reporting>
<plugins>
<!-- One configuration for main -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>checkstyle</configLocation>
</configuration>
</plugin>
<!-- But a different set of rules for test -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
<configLocation>checkstyle-test.xml</configLocation>
</configuration>
</plugin>
</plugins>
</reporting>
我已经成功地运行了一个版本或另一个版本,但不能同时运行两个版本。包括尝试将它们绑定到不同的执行阶段,但似乎经验法则是最后一个定义是唯一使用的。
所以我想:
-理想情况下 - 有两个可以独立运行的独立 checkstyle 配置文件
或
-有一个单一的 checkstyle 配置,使用配置属性 includeTestSourceDirectory 同时检查 main 和 test,但有一些规则选择性地应用于 main/test 或另一个。
【问题讨论】:
-
如果你运行不同的执行,你给执行部分一个唯一的ID,而不是定义的顺序定义的执行顺序。
-
试试这个线程的解决方案:Checkstyle different rules for different files
标签: maven-2 configuration checkstyle