7

作为我发布过程的一部分,我使用mvn versions:use-releases目标将所有 -SNAPSHOT 依赖项替换为已发布版本。在此之后,我想检查是否所有 SNAPSHOT 依赖项都已被版本替换。

问题:我怎样才能检查它?

我知道,maven 发布插件执行这样的检查作为release-prepare目标的一部分,但我不想使用发布插件。

4

1 回答 1

7

您可以使用maven-enforcer-plugin来仔细检查是否仍然存在任何 SNAPSHOT 依赖项。

来自其规则的官方示例:requireReleaseDeps

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.4.1</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>

注意fail设置为 的元素,在这种情况下,如果找到任何依赖项true,构建将失败。SNAPSHOT

您可以将此类配置放在Maven 配置文件中,并在需要时激活它(因此每当必须执行此检查时)。

于 2016-06-30T06:57:27.170 回答