为什么本地存储库中的工件文件名缺少时间戳后缀? (Maven 3.3.3)

时间:2015-12-09 15:21:05

标签: maven pom.xml dependency-management nexus snapshot

当我将项目的快照版本部署到Nexus时,文件名存储在快照存储库中,其时间戳后缀如下:

my-lib-0.0.1-20151209.150900-1.jar

这就是我的期望。

同时,我的本地存储库使用新版本的快照进行更新,但没有时间戳后缀。存储的内容有:

my-lib-0.0.1-SNAPSHOT.jar

我是Maven和Nexus的新手,并且已经玩了几天。以前,本地存储库使用与Nexus快照存储库中的相同的文件名进行更新。

哪个属性控制此行为?

这些是我的pom中的设置:

<distributionManagement>
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://nexus.bxd.com:8081/nexus/content/repositories/snapshots</url>
    </snapshotRepository>

    <repository>
        <id>releases</id>
        <url>http://nexus.bxd.com:8081/nexus/content/repositories/releases</url>
    </repository>
</distributionManagement>

这些是server中的settings.xml设置:

<servers>
    <server>
        <id>snapshots</id>
        <username>deployment</username>
        <password>***</password>
    </server>

    <server>
        <id>releases</id>
        <username>deployment</username>
        <password>***</password>
    </server>
</servers>

更新

我注意到如果我删除本地仓库并部署我的库,那么本地仓库将更新为my-lib-0.0.1-SNAPSHOT.jar

如果我删除了我的本地仓库并构建了另一个依赖my-lib的库,则本地仓库将更新为my-lib-0.0.1-SNAPSHOT.jar以及最新的带时间戳的版本。

1 个答案:

答案 0 :(得分:0)

如果您正在使用maven-assembly-plugin,或者正在更改工件的finalName,则这是预期的行为。