idea搜索maven远程仓库上的jar包

2 篇文章 0 订阅

在国内下载jar包慢,只需要引入一个阿里云的镜像即可,在maven的setting中加入阿里云的mirror。将下面的代码添加到maven的配置文件<mirrors></mirrors>里,就可以实现从阿里云镜像下载jar包:

        <mirror>
            <id>aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/central</url>
        </mirror>

但是这个镜像只是加快了下载速度,并不提供idea里的搜索功能,我真正想实现的是搜索的时候能列出远程库中的内容。

idea编辑pom文件时,使用alt+insert,选择Dependency来搜索jar包添加引用。

会弹出Maven Artifact Search界面,如下图所示,默认情况下,搜出来的只有我本地已有的jar包。

要想搜索到仓库中的jar包,就需要去更新repository的index,配置的库在Setting Maven Repositories里可以看到,只有我本地的和默认的。而且那个默认的中心库点击update就会提示Error,即使在替换为阿里云的镜像之后,还是一点update就报错,自然也就搜索不到远程仓库里的jar包。

鼠标放上去,有如下提示:

Resource nexus-maven-repository-index.properties does not exist

这个提示是maven未找到索引文件,正常情况idea会去中心仓库找这个nexus-maven-repository-index.properties文件,这个文件就是索引,idea找到这个文件,会把文件下载到本地,这样本地搜索的时候,就会把远程仓库上的已有jar包列出来。从别的地方看到:目前来说,http://repo1.maven.org/maven2/ 是真正的Maven中央仓库的地址,该地址内置在Maven的源码中,其它地址包括著名的ibiblio.org,都是镜像。中央仓库带有索引文件以方便用户对其进行搜索,完整的索引文件至2019年1月22日大小约为1.04G,索引每周更新一次。

此部分来源:https://www.jianshu.com/p/dddc8b8c5c74

看来问题在于阿里云的镜像里,未提供索引文件,所以这个远程的仓库没有索引还是搜索不了,所以我网上又找了个仓库地址,是http://121.42.166.202:8081/nexus/content/repositories/aliyun/,这个地址能够访问到index文件,但是我看里面的时间是2018年的,已经比较旧了,长期未更新。索引地址为:http://121.42.166.202:8081/nexus/content/repositories/aliyun/.index/nexus-maven-repository-index.properties

我把mirror地址替换成http://121.42.166.202:8081/nexus/content/repositories/aliyun/后,就能在搜索界面搜索到远程仓库上的jar包了,效果如下图:

到这里已经初步实现了我想要的功能,但是这个镜像的index一直没更新,一些新版本的jar包也还是搜索不出来,这当然也不行,还是要再找到一个带定期更新索引的镜像,我现在还没找到,找到合适的地址后我会贴出来。

至于阿里云为什么下载不了index,可能是最近阿里云镜像进行了更新,后来我在他们的FAQ中看到如下说明:

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值