【问题标题】:Maven check that all dependencies have been releasedMaven 检查所有依赖项是否已释放
【发布时间】:2016-11-01 23:53:05
【问题描述】:

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

问题:如何查看?

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

【问题讨论】:

    标签: maven maven-release-plugin versions-maven-plugin


    【解决方案1】:

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

    来自the official examplerequireReleaseDeps规则:

    <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 profile 中并在需要时激活它(因此无论何时必须执行此检查)。

    【讨论】:

    • 您也可以使用mvn enforcer:enforce -Drules=requireReleaseDeps从命令行一次性运行它
    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 2011-05-07
    • 2023-02-23
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    相关资源
    最近更新 更多