0
votes

I am using mvn deplouy:deploy-file to deploy local SNAPSHOT package to remote repository. However, the upload repository path replace the version SNAPSHOT with timestamp.

I was use this:

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/

For example:

Uploading: http://address:8081/nexus/content/repositories/snapshots/com/zhouyi/classifier/devcloud/2.2.320181207.014307-3/devcloud-2.2.320181207.014307-3-source.jar Uploaded: 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) Uploading: http://address:8081/nexus/content/repositories/snapshots/com/zhouyi/classifier/devcloud/2.2.320181207.014307-3/devcloud-2.2.320181207.014307-3.pom Uploaded: 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)
Downloading: http://address:8081/nexus/content/repositories/snapshots/com/zhouyi/classifier/devcloud/maven-metadata.xml

Maven Version is: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)

Settings file:

<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>
1

1 Answers

1
votes

This is the correct behaviour. The suffix SNAPSHOT is replaced by a timestamp when you upload the artifact to a repository.

You do not need to worry about it. You actually won't notice it in Maven because every dependency on 1.2.3-SNAPSHOT will be resolved against the latest timestamp version.

It is only interesting if you want to reference a specific timestamp version. Then you can put that version into your pom.xml. But this normally not recommended.