如题, nexus 私服 增加了另一个 私服,  但是无法搜到 版本中带有 snapshot字样的 jar包。

环境情况:

1.老私服:

    首先版本中带有 snapshot字样的 jar包,是发布在 老私服上的。

    老私服中可以搜到的版本中带snapshot字样的jar包

    公共仓库中 中也可以搜到或找到 snapshot的jar包

    

nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法

nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法

 

2.新私服

      新私服配置了   老私服的  public repository,名为 servyou,且加入了 新私服的public repository的组中。

nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法

  但是此时新私服中搜不到  snapshot的包(版本中带snapshot)

 

nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法

 

      经过分析、研究后,解决办法如下:

      1.首先可能的原因是  release和snapshot的包 管理的比较乱,即snapshot的包不应该放在 release仓库中。反之亦然。

      2.在配置 代理仓库 proxy repository时,需要注意一个参数的设置:   repository policy

nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法

 

        如果这里选择:Release,则只能搜出来release包(准确的说是  版本中 如果包含 snapshot字样 就搜不出来)

 

        如果想搜索到 代理仓库中的snapshot的包,那就需要在建一个 代理仓库,这个参数配置成snapshot则可以。

         原理是认为是 这个参数会过来和决定 搜release还是snapshot,或者说会过滤。

 

         最终结果:

         1.新私服上  对 老私服的  public repository 建2个 代理仓库  ,参数设置分别为 release 和 snapshot

                        nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法

 

      2.然后把2个 代理仓库都加到 新私服的 public repository 组中: 这一步 不影响 搜索,但如果 maven需要下载的时候 影响

      3.此时新私服上  再搜  就 可以搜到 snapshot的包了

    nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法

 

   

相关文章: