nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法
如题, nexus 私服 增加了另一个 私服, 但是无法搜到 版本中带有 snapshot字样的 jar包。
环境情况:
1.老私服:
首先版本中带有 snapshot字样的 jar包,是发布在 老私服上的。
老私服中可以搜到的版本中带snapshot字样的jar包
公共仓库中 中也可以搜到或找到 snapshot的jar包
2.新私服
新私服配置了 老私服的 public repository,名为 servyou,且加入了 新私服的public repository的组中。
但是此时新私服中搜不到 snapshot的包(版本中带snapshot)
经过分析、研究后,解决办法如下:
1.首先可能的原因是 release和snapshot的包 管理的比较乱,即snapshot的包不应该放在 release仓库中。反之亦然。
2.在配置 代理仓库 proxy repository时,需要注意一个参数的设置: repository policy
如果这里选择:Release,则只能搜出来release包(准确的说是 版本中 如果包含 snapshot字样 就搜不出来)
如果想搜索到 代理仓库中的snapshot的包,那就需要在建一个 代理仓库,这个参数配置成snapshot则可以。
原理是认为是 这个参数会过来和决定 搜release还是snapshot,或者说会过滤。
最终结果:
1.新私服上 对 老私服的 public repository 建2个 代理仓库 ,参数设置分别为 release 和 snapshot
2.然后把2个 代理仓库都加到 新私服的 public repository 组中: 这一步 不影响 搜索,但如果 maven需要下载的时候 影响
3.此时新私服上 再搜 就 可以搜到 snapshot的包了