首页 > 解决方案 > maven-metadata.xml 不附加多个 SNAPSHOT

问题描述

上次我使用 Maven 和 Nexus 时,我记得我有 maven-metadata,如下所示:

<metadata>
    <groupId>com.foo.bar</groupId>
    <artifactId>my-maven-app</artifactId>
    <version>1.0-SNAPSHOT</version>
    <versioning>
        <snapshot>
            <timestamp>20170908.123705</timestamp>
            <buildNumber>2</buildNumber>
        </snapshot>
        <lastUpdated>20170908123705</lastUpdated>
    </versioning>
    <snapshotVersions>
        <snapshotVersion>
            <classifier>sources</classifier>
            <extension>jar</extension>
            <value>1.0-20170906.143113**-1**</value>
            <updated>20170906140847</updated>
        </snapshotVersion>
        <snapshotVersion>
            <extension>jar</extension>
            <value>1.0-20170906.143113**-1**</value>
            <updated>20170906140844</updated>
        </snapshotVersion>
        <snapshotVersion>
            <classifier>sources</classifier>
            <extension>jar</extension>
            <value>1.0-20170908.123705**-2**</value>
            <updated>20170908123705</updated>
        </snapshotVersion>
        <snapshotVersion>
            <extension>jar</extension>
            <value>1.0-20170908.123705**-2**</value>
            <updated>20170908123705</updated>
        </snapshotVersion>
    </snapshotVersions>
</metadata>

它保留了一些 SNAPSHOTS,例如最后三个(我不记得这是在哪里设置的,如果使用 maven 部署配置或在 Nexus 上)。

所有这三个 SNAPSHOTS 都在 repo 中可用,我可以指定时间戳/buildNumber 来检索特定的。

很长一段时间后,我回到了 Maven 和 Nexus,现在当我在远程 nexus 服务器上运行构建时,我得到了:

   <metadata>
        <groupId>com.foo.bar</groupId>
        <artifactId>my-maven-app</artifactId>
        <version>1.0-SNAPSHOT</version>
        <versioning>
            <snapshot>
                <timestamp>20170908.123705</timestamp>
                <buildNumber>2</buildNumber>
            </snapshot>
            <lastUpdated>20170908123705</lastUpdated>
        </versioning>
        <snapshotVersions>
            <snapshotVersion>
                <classifier>sources</classifier>
                <extension>jar</extension>
                <value>1.0-20170908.123705-2</value>
                <updated>20170908123705</updated>
            </snapshotVersion>
            <snapshotVersion>
                <extension>jar</extension>
                <value>1.0-20170908.123705-2</value>
                <updated>20170908123705</updated>
            </snapshotVersion>
        </snapshotVersions>
    </metadata>

我失去了对部署在 Nexus 上的先前 SNAPSHOT 的任何引用。它们在 Nexus 中可用,但元数据没有列出它们,本质上它只列出了最新上传的.

我应该在哪里配置以跟踪上传的 SNAPSHOT 的最新“数量”,而不仅仅是最后一个?这是一个 Maven 部署插件配置在某处丢失还是只是 Maven 方面发生了一些变化?

我正在使用 Maven 3.6.3

标签: javamavenmaven-3nexusbuild-dependencies

解决方案


推荐阅读