我试图使用Maven Versions插件但被一个问题阻止,导致该插件无法在公司发布的artefact存储库中找到发布工件。测试POM的一部分,用于演示该问题...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.xxxx.sage</groupId>
<artifactId>sage-core-health</artifactId>
<version>1.36-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>releases</id>
<url>http://releases.dev.xxxx.org/archiva/repository/releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
如果我执行versions:force-releases
,则不会更新人工制品版本号。 Maven记录以下内容......
[DEBUG] Looking for a release of org.xxxx.sage:sage-core-health:jar:1.36-SNAPSHOT
[DEBUG] Skipping update check for artifact org.xxxx.sage:sage-core-health (C:\Users\williams\.m2\repository\org\xxxx\sage\sage-core-health\maven-metadata-releases.xml) from disabled repository releases (http://releases.dev.xxxx.org/archiva/repository/releases)
[DEBUG] Skipping update check for artifact org.xxxx.sage:sage-core-health (C:\Users\williams\.m2\repository\org\xxxx\sage\sage-core-health\maven-metadata-central.xml) from disabled repository central (https://repo.maven.apache.org/maven2)
[INFO] No release of org.xxxx.sage:sage-core-health:jar:1.36-SNAPSHOT to force.
版本1.36肯定在发布artefact存储库中。如果我更改存储库定义以启用快照并执行相同的目标,则人工制品版本号将正确更新为1.36。
我一直试图让这个插件工作好几天,但是当我为SNAPSHOTs启用它时,它似乎只在发布artefact存储库中找到发布工件...
<repositories>
<repository>
<id>releases</id>
<url>http://releases.dev.xxxx.org/archiva/repository/releases</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
我做错了什么?
由于
答案 0 :(得分:0)
发生这种情况是因为您的公司工件是SNAPSHOT版本,因此Maven默认情况下会在配置的快照存储库中查找最新的快照版本。为了正确查看发行版本库,请从工件版本中删除SNAPSHOT,并且Maven将默认为查看发行版本库。 Maven确定使用该版本要查找的存储库,如果它包含“ SNAPSHOT”,它将使用快照存储库。