`
zhaohaolin
  • 浏览: 1003845 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

解决nexus下载maven索引的问题

阅读更多

在上个周五在公司的一台服务器上用nexus搭建了maven repository的镜像服务器。当时都安装好之后,将本地的settings.xml修改成使用该镜像服务器。这些配置都搞定后,测试时执行任何 mvn任务时都存在问题。在管理界面搜寻了一通,没有找到原因,于是找来nexus的文章进行研究,顺便学习一下nexus。阅读过nexus的手册后, 理解了nexus的管理仓库的方法,于是开始检查安装好的nexus的配置。经过一番排查,确认是由于下载central的索引出错,导致这个镜像服务器 不可用。

分析日志,找到为什么每次下载时都存在问题,最终在log中发现在执行re-index操作时程序会通过httpclient请求 http://repo1.maven.org/maven2/.index/nexus-maven-repository-index.zip 文件时,无法下载到文件。在浏览器打开该url时,浏览器会自动跳转到另外一个镜像地址:http://mirrors.ibiblio.org/pub /mirrors/maven2/dot-index/nexus-maven-repository-index.zip。莫非是httpclient 没办法处理http 301重定向的情况?如果真是这样的话,那说明nexus将会一直无法更新central 索引,这将是个严重的问题。

在不修改源码的情况下,我想到了一个解决这个问题的办法,操作如下:

1、根据错误的日志,将http://repo1.maven.org/maven2/.index/nexus-maven- repository-index.properties 和 http://repo1.maven.org/maven2/.index/nexus-maven-repository-index.zip 两个文件用浏览器下载到本地;

2、在本地机器上启动nginx,将这两个文件按照上面url的路径将文件存放好;

3、在安装nexus上,修改/etc/hosts文件,将repo1.maven.org的域名指向自己的机器。

4、重启nexus(不确认httpclient是否会在程序中做dns缓存,所以重启一下),重新在central repostory界面上执行update index的任务。

当update index的任务执行完成之后,查看browse index 的tab时就可以看到central的索引了。

===EOF===

分享到:
评论
1 楼 西北楞娃 2012-03-16  
你用的nexus的版本是?

相关推荐

    使用Nexus搭建Maven私服

    在实际的企业开发中经常会遇到的问题:在进行Maven项目开发时,所需要的构件都是通过Maven的中央仓库或者第三方的Maven仓库下载到本地,那么企业内部开发使用也会遇到一些问题,团队内的每个使用者都需要去下载相应...

    nexus-maven-repository-index文件

    maven官方索引文件包,由于eclipse-maven中rebuild index非常慢,自己下载索引文件,使用tomcat模拟索引服务器,更新索引

    使用nexus 搭建 maven 本地仓库

    通过以上步骤,你就成功地使用Nexus搭建了Maven本地仓库,这将显著提升开发效率,减少因网络问题导致的困扰。同时,Nexus还提供了丰富的功能,如安全控制、访问统计、仓库索引同步等,使得整个软件开发过程更加顺畅...

    nexus-maven-repository-index

    描述中提到的“nexus-maven-repository-index的下载链接”,意味着我们可以从特定的URL获取到Nexus仓库的Maven索引文件。这个索引文件通常包含了仓库中所有构件的元数据,如GAV坐标(Group ID, Artifact ID, Version...

    nexus index 索引手动更新

    "nexus index"指的是Nexus仓库中的索引,这个索引包含了仓库中所有组件的元数据,如版本信息、依赖关系等,方便开发者快速查找和下载所需的组件。 在默认情况下,Nexus会定期自动更新其索引,但这个过程可能比较...

    nexus-maven-repository-index.zip

    标题中的“nexus-maven-repository-index.zip”指的是Sonatype Nexus仓库的一个Maven索引文件的压缩包。Nexus是企业级的Maven仓库管理器,它不仅存储库组件,还提供对Maven仓库的管理和代理功能。Maven索引是Maven...

    nexus-maven-repository-index文件2

    maven官方索引文件包,由于eclipse-maven中rebuild index非常慢,自己下载索引文件,使用tomcat模拟索引服务器,更新索引,共3个包

    Nexus搭建Maven私服指导手册

    因此,搭建一个本地的Maven私服——Nexus,能够有效地解决这些问题。 #### 二、Nexus简介 Nexus是一个由Sonatype开发的强大仓库管理系统,它不仅简化了内部仓库的维护工作,还优化了对外部仓库的访问方式。Nexus的...

    nexus-maven

    尽管用户遇到了问题,但这份资源应当包含了足够的信息来解决这些问题,或者至少提供了一个起点来学习和理解Nexus的运作机制。 从“学习地址.txt”这个文件名来看,这很可能是指向在线资源或教程链接的文本文件,...

    nexus maven内部库配置安装手册

    - **代理远程仓库**:配置Nexus作为中央仓库和其他公开的Maven仓库的代理,所有构件都将从Nexus下载,Nexus会自动从外部仓库下载缺失的构件。 - **本地宿主仓库**:在服务器上建立本地的宿主仓库,用于存放组织...

    maven+nexus完整手册

    - **远程索引下载**: Nexus 默认关闭了远程索引下载功能,需要手动开启。通过点击 “Administration” 菜单下的 “Repositories”,找到 ApacheSnapshots、CodehausSnapshots 和 MavenCentral 这三个仓库,将 `...

    用Nexus做Maven私服全攻略

    初次登录后最重要的一项操作是打开远程索引下载。具体步骤为:选择菜单`Administrator > Repositories`,然后在右侧列表中选择类型为`proxy`的记录,在编辑区域将`DownloadRemote Indexes`设置为`true`,接着对这三...

    nexus搭建maven私服1

    - **下载中央仓库索引**:在 Nexus 界面中,你需要等待索引下载完成,以便私库能正确地镜像 Maven 中央仓库。 - **设置 Maven 配置文件**:修改 `~/.m2/settings.xml` 文件,添加或更新 `<mirrors>` 部分,将 ...

    nexus-maven-repository-index.part2.rar

    nexus-maven-repository-index.part2.rar nexus-maven-repository-index 索引文件 。 使用方法参考http://blog.csdn.net/ggmmsoo/article/details/41720705

    nexus-maven-repository-index文件1

    maven官方索引文件包,由于eclipse-maven中rebuild index非常慢,自己下载索引文件,使用tomcat模拟索引服务器,更新索引,共3个包

    使用Nexus搭建本地maven服务器

    为了解决这个问题,团队通常会搭建本地的Maven服务器,即Nexus。Nexus是一个强大的repository manager,它不仅能够作为本地仓库,还能作为代理服务器,缓存远程仓库的构件,从而提高开发效率。 1. **Nexus的安装与...

Global site tag (gtag.js) - Google Analytics