如何在maven checkstyle插件中覆盖configLocation?

时间:2014-11-27 05:46:44

标签: java maven checkstyle

我想覆盖maven checkstyle插件中的configLocation选项。 POM.xml的示例部分是:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <executions>
      <execution>
        <goals>
          <goal>check</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <configLocation>blahblah/checkstyle/checkstyle.xml</configLocation>
      <consoleOutput>true</consoleOutput>
    </configuration>
    <dependencies>
      <dependency>
        <groupId>com.example.blahblah</groupId>
        <artifactId>checkstyle-config</artifactId>
        <version>2.0.0-SNAPSHOT</version>
      </dependency>
    </dependencies>
    <configuration>
      <configLocation>checkstyle.config.xml</configLocation>
      <suppressionsLocation>checkstyle.suppressions.xml</suppressionsLocation>

      ... other configuration ...

    </configuration>
  </plugin>

如上所示,checkstyle-config是一个单独的maven项目,其中包含样式检查的规则,而规则的配置文件使用是blahblah / checkstyle / checkstyle.xml。如果我必须覆盖blahblah / checkstyle / checkstyle.xml并使用存储在当前项目而不是checkstyle-config项目中的其他.xml,那我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

您可以通过复制上面的插件配置部分并覆盖配置位置来覆盖模块中的插件配置。在此,您可以将配置标记移动到执行中,以便该配置仅适用于该执行。 见下面的例子

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
  <execution>
    <goals>
      <goal>check</goal>
    </goals>
   <configuration>
      <configLocation>blahblah/checkstyle/checkstyle.xml</configLocation>
   </configuration>
  </execution>
</executions>