在上个周五在公司的一台服务器上用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===
分享到:
相关推荐
maven官方索引文件包,由于eclipse-maven中rebuild index非常慢,自己下载索引文件,使用tomcat模拟索引服务器,更新索引,共3个包
在实际的企业开发中经常会遇到的问题:在进行Maven项目开发时,所需要的构件都是通过Maven的中央仓库或者第三方的Maven仓库下载到本地,那么企业内部开发使用也会遇到一些问题,团队内的每个使用者都需要去下载相应...
maven官方索引文件包,由于eclipse-maven中rebuild index非常慢,自己下载索引文件,使用tomcat模拟索引服务器,更新索引
通过以上步骤,你就成功地使用Nexus搭建了Maven本地仓库,这将显著提升开发效率,减少因网络问题导致的困扰。同时,Nexus还提供了丰富的功能,如安全控制、访问统计、仓库索引同步等,使得整个软件开发过程更加顺畅...
描述中提到的“nexus-maven-repository-index的下载链接”,意味着我们可以从特定的URL获取到Nexus仓库的Maven索引文件。这个索引文件通常包含了仓库中所有构件的元数据,如GAV坐标(Group ID, Artifact ID, Version...
"nexus index"指的是Nexus仓库中的索引,这个索引包含了仓库中所有组件的元数据,如版本信息、依赖关系等,方便开发者快速查找和下载所需的组件。 在默认情况下,Nexus会定期自动更新其索引,但这个过程可能比较...
标题中的“nexus-maven-repository-index.zip”指的是Sonatype Nexus仓库的一个Maven索引文件的压缩包。Nexus是企业级的Maven仓库管理器,它不仅存储库组件,还提供对Maven仓库的管理和代理功能。Maven索引是Maven...
因此,搭建一个本地的Maven私服——Nexus,能够有效地解决这些问题。 #### 二、Nexus简介 Nexus是一个由Sonatype开发的强大仓库管理系统,它不仅简化了内部仓库的维护工作,还优化了对外部仓库的访问方式。Nexus的...
尽管用户遇到了问题,但这份资源应当包含了足够的信息来解决这些问题,或者至少提供了一个起点来学习和理解Nexus的运作机制。 从“学习地址.txt”这个文件名来看,这很可能是指向在线资源或教程链接的文本文件,...
- **代理远程仓库**:配置Nexus作为中央仓库和其他公开的Maven仓库的代理,所有构件都将从Nexus下载,Nexus会自动从外部仓库下载缺失的构件。 - **本地宿主仓库**:在服务器上建立本地的宿主仓库,用于存放组织...
- **远程索引下载**: Nexus 默认关闭了远程索引下载功能,需要手动开启。通过点击 “Administration” 菜单下的 “Repositories”,找到 ApacheSnapshots、CodehausSnapshots 和 MavenCentral 这三个仓库,将 `...
初次登录后最重要的一项操作是打开远程索引下载。具体步骤为:选择菜单`Administrator > Repositories`,然后在右侧列表中选择类型为`proxy`的记录,在编辑区域将`DownloadRemote Indexes`设置为`true`,接着对这三...
- **下载中央仓库索引**:在 Nexus 界面中,你需要等待索引下载完成,以便私库能正确地镜像 Maven 中央仓库。 - **设置 Maven 配置文件**:修改 `~/.m2/settings.xml` 文件,添加或更新 `<mirrors>` 部分,将 ...
nexus-maven-repository-index.part2.rar nexus-maven-repository-index 索引文件 。 使用方法参考http://blog.csdn.net/ggmmsoo/article/details/41720705
maven官方索引文件包,由于eclipse-maven中rebuild index非常慢,自己下载索引文件,使用tomcat模拟索引服务器,更新索引,共3个包
"nexus-maven-repository-index.zip" 这个文件通常是由Nexus或Artifactory等Maven仓库管理器生成的,它们会定期或按需构建仓库索引,以便开发者能够更高效地使用。Nexus是Sonatype公司提供的开源仓库管理工具,它...