禁止插件

此规则检查构建期间使用的插件集,并强制不使用特定的排除插件。

此规则支持以下参数:

  • excludes - 要禁止的插件工件列表。格式为 groupId[:artifactId][:version],其中 artifactId 和 version 是可选的。通配符可用于替换整个部分。例子:
    • org.apache.maven
    • org.apache.maven:坏插件
    • org.apache.maven:my-plugin:badVersion
    • org.apache.maven:*:1.2
  • 包含 - 要包含的插件工件列表。这些是排除的例外。它旨在允许使用通配符的广泛排除规则并使用包含进行微调。如果没有排除任何内容,则包含无效。换句话说,仅包括从匹配排除规则的工件中减去。
  • message - 如果规则失败,则向用户发送可选消息。

示例插件配置:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedPlugins>
                  <excludes>
                    <exclude>org.codehaus.mojo:build-helper-maven-plugin</exclude>
                  </excludes>
                </bannedPlugins>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>