nexus私服update index失败解决方案

来源:互联网 发布:软件项目合同范本 编辑:程序博客网 时间:2024/04/30 17:12

现在要建一下maven的nexus私服仓库


但是发现central仓库的索引 index下载不下来


原因

分析了一下,这是nexus无法自动处理重定向导致的





解决方案

如下有2个:

ps:强烈推荐方案一,网速好的可以尝试方案二


方案一


1、通过其它方式下载如下两个文件:


可以在迅雷或者浏览器下载中新建,复制以下地址即可下载


http://repo1.maven.org/maven2/.index/nexus-maven-repository-index.properties


http://repo1.maven.org/maven2/.index/nexus-maven-repository-index.gz



2、安装一个apache静态资源服务器


图文记录apache静态资源服务器安装





3.在其根目录apache/htdocs下建立一个 maven2目录  maven2目录下新建.index 的目录,把上述两个文件拷贝至该目录下。

(注意: 如果你使用的是windows xp and win7系统, 可能无法建立.index文件夹, 在cmd下使用mkdir命令可创建)




新建maven2目录 把.index放进去

第一步下好的两个文件放入.index目录中

如下







4.做ip映射

在nexus所在的机子中

编辑 c:\WINDOWS\system32\drivers\etc\hosts 文件,在文件中加入:
192.168.0.193 repo1.maven.org
注:192.168.0.193 为步骤2的Apache服务器IP地址。



注意hosts文件不能配端口,如果不是80端口访问的放,在浏览器访问的时候加上端口号m.t.XXXX.com:8080/

所以启动apache服务器的时候 一定要想办法设置成80端口


可以在 浏览器里试一下 访问repo1.maven.org/maven2/.index是不是已经跳转我们的目录了







如果ip映射不起作用 请参考

遇到问题---hosts不起作用问题的解决方法


好了,我们的偷天换日就成功了,再运行update index,就会直接下载我们这两个文件中的内容


Ok,这样应该就能正常的下载了


如果还是不能下载成功 我们可以看一下logs日志中的路径 对了没



这里日志路径跟我设置的路径不一样导致 就不会从我们布置的链接上下载 




正常开始下载时 日志如下:

jvm 1    | 2014-12-05 18:33:17,562+0800 WARN  [proxy-3-thread-16] admin org.sonatype.nexus.proxy.maven.maven2.M2Repository - Remote peer of proxy repository "Central" [id=central] detected as healthy, un-blocking the proxy repository (it was AutoBlocked by Nexus).jvm 1    | 2014-12-05 18:33:23,258+0800 INFO  [pxpool-1-thread-2] admin org.sonatype.nexus.index.tasks.UpdateIndexTask - Scheduled task (UpdateIndexTask) started :: Updating repository index "Central" from path / and below.jvm 1    | 2014-12-05 18:33:23,333+0800 INFO  [pxpool-1-thread-2] admin org.sonatype.nexus.index.DefaultIndexerManager - Trying to get remote index for repository "Central" [id=central]jvm 1    | 2014-12-05 18:33:23,358+0800 INFO  [pxpool-1-thread-2] admin org.sonatype.nexus.index.DefaultIndexerManager - Cannot incrementally update index for repository centraljvm 1    | 2014-12-05 18:33:23,358+0800 INFO  [pxpool-1-thread-2] admin org.sonatype.nexus.index.DefaultIndexerManager - Unable to incrementally update index for repository central. Trying full index updatejvm 1    | 2014-12-05 18:33:23,396+0800 INFO  [pxpool-1-thread-2] admin org.sonatype.nexus.index.DefaultIndexerManager - Trying to get remote index for repository "Central" [id=central]

  

而且可以看到 apache服务器 有上行 网络


schedule task中  update index 任务正在 running


等待任务结束后成功了

刷新列表 已经可以看到索引了 




这时候点击搜索也已经可以 搜索出构件了




最后我们要把hosts文件改回来,去掉ip域名定向




方案二

翻墙用goagent设置代理来访问
打开goagent之后
设置一下nexus的代理




schedule task中可以看到运行情况  现在是在running



第一次update时大概会下载100多MB的东西,可能要等上10几分钟。
首先可以看下central-ctx文件夹大小(<nexus>/sonatype-work/nexus/indexer/central-ctx),我的大概有962MB,如果文件夹大小很小的话说明还没有下载完。
下载过程中,临时文件是放在tmp目录中的(<nexus>/sonatype-work/nexus/tmp),
看看tmp目录下有没有类似这样的文件夹:
nexus-maven-repository-index.gz7642565033310927878.dir
central-tmp-ctx8523230095898301314.tmp
有就表明正在下载中,下载过程中这个文件夹大小会达到2个多GB,下载完会自动删除。



如果实在不行,可以把整个nexus工作目录(<nexus>/sonatype-work/nexus/)删除再试。



2 0
原创粉丝点击