2
作爲我發佈過程的一部分,我使用mvn versions:use-releases
目標用發佈的版本替換所有的-SNAPSHOT依賴關係。在此之後,我想檢查是否所有的SNAPSHOT依賴項已被替換爲版本。Maven檢查是否已發佈所有依賴關係
問題:我該如何檢查?
我知道,maven版本插件執行這樣一個檢查作爲release-prepare
目標的一部分,但我不想使用發佈插件。
作爲我發佈過程的一部分,我使用mvn versions:use-releases
目標用發佈的版本替換所有的-SNAPSHOT依賴關係。在此之後,我想檢查是否所有的SNAPSHOT依賴項已被替換爲版本。Maven檢查是否已發佈所有依賴關係
問題:我該如何檢查?
我知道,maven版本插件執行這樣一個檢查作爲release-prepare
目標的一部分,但我不想使用發佈插件。
您可以使用maven-enforcer-plugin
來仔細檢查是否有任何SNAPSHOT依賴項存在或不存在。
從它requireReleaseDeps
規則the official example:
<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中,並在需要時激活它(因此無論何時必須執行此檢查)。