maven-enforcer-plugin - 在Maven中配置的位置

时间:2014-09-17 19:53:09

标签: xml maven settings release maven-release-plugin

我需要在哪里配置此插件。

是否需要进入settings.xml级别或每个项目或子项目的pom.xml文件级别?

2 个答案:

答案 0 :(得分:1)

您必须在通常的地方配置maven-enforcer-plugin,如下所示:

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireSameVersions>
                  <plugins>
                    <plugin>org.apache.maven.plugins:maven-surefire-plugin</plugin>
                    <plugin>org.apache.maven.plugins:maven-failsafe-plugin</plugin>
                    <plugin>org.apache.maven.plugins:maven-surefire-report-plugin</plugin>
                  </plugins>
                </requireSameVersions>
                <requireMavenVersion>
                  <version>${maven.version}</version>
                </requireMavenVersion>
              </rules>    
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

答案 1 :(得分:1)

这完全取决于您希望应用强制执行规则的项目/模块。

E.g. 
Parent -- pom.xml
|
|----module 1-------> pom.xml
|
|----module 2-------> pom.xml

如果您想在子模块2上应用规则 - 请将模块2的pom.xml添加到其中。

如果您想让所有模块都能看到您的插件,请将其添加到父项目的pom.xml中。

如果您希望整个环境/组织/公司的项目都能看到您的插件,请为您的环境/组织/公司创建一个bom(物料清单)。将您的插件添加到bom。将bom发布到存储库并在项目中将其配置为父级。