首页 > 解决方案 > MAVEN部署快照包用时间戳替换路径中的SNAPSHOT,而不是包名

问题描述

我正在使用 mvn deplouy:deploy-file 将本地 SNAPSHOT 包部署到远程存储库。但是,上传存储库路径将版本替换为SNAPSHOT时间戳。

我用这个:

mvn deploy:deploy-file -DgroupId=com.zhouyi.classifier -DartifactId=devcloud -Dversion=2.2.3SNAPSHOT -Dclassifier=source -Dpackaging=jar -DrepositoryId=snapshots -Dfile=filepath\antlr\antlr\2.7.2\antlr-2.7.2.jar -Durl=http://address:8081/nexus/content/repositories/snapshots/

例如:

上传:http://address:8081/nexus/content/repositories/snapshots/com/zhouyi/classifier/devcloud/2.2.320181207.014307-3/devcloud-2.2.320181207.014307-3-source.jar 上传:http://address :8081/nexus/content/repositories/snapshots/com/zhouyi/classifier/devcloud/2.2.320181207.014307-3/devcloud-2.2.320181207.014307-3-source.jar (748 kB at 3.8 MB/s) 上传: http:// /address:8081/nexus/content/repositories/snapshots/com/zhouyi/classifier/devcloud/2.2.320181207.014307-3/devcloud-2.2.320181207.014307-3.pom 上传:http://address:8081/nexus/content/ repositories/snapshots/com/zhouyi/classifier/devcloud/2.2.320181207.014307-3/devcloud-2.2.320181207.014307-3.pom (410 B at 4.1 kB/s)
下载:http://address:8081/nexus/content/repositories/snapshots/com/zhouyi/classifier/devcloud/maven-metadata.xml

Maven版本是: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)

设置文件:

<profile>
            <id>MyProfile</id>
            <repositories>
                <repository>
                    <id>releases</id>
                    <url>http://address:8081/nexus/content/repositories/release/</url> 
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>snapshots</id>
                    <url>http://address:8081/nexus/content/repositories/snapshots/</url>                    
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>

标签: mavensnapshot

解决方案


这是正确的行为。当您将工件上传到存储库时,后缀SNAPSHOT将替换为时间戳。

您无需担心。您实际上不会在 Maven 中注意到它,因为每个依赖项1.2.3-SNAPSHOT都将根据最新的时间戳版本解决。

仅当您想引用特定的时间戳版本时才有意义。然后您可以将该版本放入您的 pom.xml 中。但这通常不推荐。


推荐阅读