Maven Versions Plugin忽略版本repo中的版本

时间:2016-11-14 12:50:46

标签: maven-versions-plugin

我试图使用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>

我做错了什么?

由于

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为您的公司工件是SNAPSHOT版本,因此Maven默认情况下会在配置的快照存储库中查找最新的快照版本。为了正确查看发行版本库,请从工件版本中删除SNAPSHOT,并且Maven将默认为查看发行版本库。 Maven确定使用该版本要查找的存储库,如果它包含“ SNAPSHOT”,它将使用快照存储库。