nexus 是常用的maven私服,对于公司内部发布的jar包,我们通常是直接自己上传,因为外部是不可能有这个jar包的。
本文介绍下如何上传,以及遇到问题Version policy mismatch, cannot upload SNAPSHOT content to RELEASE repositories for 如何解决。
nexus 上传
本文作者:程序员潇然 疯狂的字节X https://crazybytex.com/
报错
Version policy mismatch, cannot upload SNAPSHOT content to RELEASE repositories for file 'com/crazybytex/crazybytex/0.0.1-SNAPSHOT/crazybytex-0.0.1-SNAPSHOT.jar'
错误解决
这个其实是版本的问题,我们写的SNAPSHOT 但是上传的仓库却是release
所以私服给我们报错了,简单修改下版本信息即可,本意是提醒你jar包不要乱放,要负责
直接去掉SNAPSHOT 重新上传
额外的说明
- maven-central: 类型是 proxy,代理的意思,这里会转发到 maven 中央仓库去下载。
- maven-releases: 类型是 hosted,当前仓库直接存放 releses 发布版的构建(jar,pom等)
- maven-snapshots: 和上面一样是 hosted,存放快照版。
- maven-public: 类型是 group,一个公开的组,最常用的仓库是 public,这个组包含了上面的 3 个仓库,并且按照 releases, snapshots, central 的顺序配置,优先选择本地的发布版,其次是快照版,最后是去中央仓库去找。
下图是组的配置以及顺序
所以,我们上面上传到maven-releases中,使用maven私服,配置的maven-public 也是没有任何问题的,是可以找到jar包的
转载务必注明出处:程序员潇然,疯狂的字节X,https://www.crazybytex.com/thread-35-1-1.html |