Maven Deploy:为什么SNAPSHOT版本同时上传到releases和snapshots仓库?

idea中使用deploy向远程*部署jar时,同时上传到releases

和snapshots仓库的原因

使用deploy命令部署jar包到远程*时,发现包含snapshot的版本同时出现在releases和snapshots两个仓库中。这是因为:

问题:

  • 版本号包含snapshot,按理说应该只上传到snapshots仓库。

答案:

  • distributionmanagement标签的id相同,导致maven将snapshots仓库的id同时用于release仓库,因此同时上传到两个仓库。

解决办法:

  • 为两个仓库配置不同的id,例如:

    
        x-repo-release
        http://x-repo.abc.net/repository/maven-releases/
    
    
        x-repo-snapshots
        http://x-repo.abc.net/repository/maven-snapshots/