需要发布依赖

此规则检查依赖关系并在找到任何快照时失败。

此规则支持以下参数:

  • searchTransitive - 如果应该检查传递依赖。默认值:真
  • message - 如果规则失败,则向用户发送可选消息。
  • onlyWhenRelease - 如果仅当版本为非 SNAPSHOT 版本时才应执行此规则。默认值:假
  • failWhenParentIsSnapshot - 如果应该检查父级。默认值:真
  • 包括 - 检查快照版本时要包括的依赖模式列表。
  • excludes - 检查快照版本时要排除的依赖模式列表

包含/排除模式类似于groupId:artifactId:version:type:scope并支持通配符 (*)。

示例插件配置:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>enforce-no-snapshots</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireReleaseDeps>
                  <message>No Snapshots Allowed!</message>
                </requireReleaseDeps>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

包括/排除插件配置:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>enforce-no-snapshots</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireReleaseDeps>
                  <message>No Snapshots Allowed!</message>
                  <excludes>
                    <exclude>org.apache.maven:maven-core</exclude>
                    <exclude>org.apache.maven.plugins:*</exclude>
                  </excludes>
                </requireReleaseDeps>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>