Maven将带-DEVELOP后缀构件部署至快照仓库异常问题咨询
问题解答
没错,你猜的完全对——快照仓库就是只允许带有-SNAPSHOT后缀的构件。
具体来说:
- Maven本身的仓库路由逻辑是和版本后缀绑定的:只要版本号带
-SNAPSHOT,它就自动往配置里的snapshotRepository推送;不带这个后缀的话,默认会走发布仓库。 - 像Nexus、Artifactory这类主流私服的快照仓库,都有严格的校验规则:非
-SNAPSHOT后缀的构件,哪怕你手动指定快照仓库地址去推送,也会被拒绝,直接返回400错误,这就是你遇到的问题根源。
如果一定要把带-DEVELOP后缀的构件放进开发类仓库,有两个可行思路:
- 把版本后缀改成
-SNAPSHOT(这是最符合Maven规范的做法); - 在私服上新建一个专门的开发仓库,关闭
-SNAPSHOT后缀校验,然后在Maven的settings.xml或项目pom.xml里指定这个仓库作为该构件的部署目标。
内容的提问来源于stack exchange,提问作者Bylaw
相关产品推荐
相关产品推荐

