java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > IDEA Maven无法下载依赖包

Idea中maven无法下载依赖包问题解决

作者:wx63b644a53b596

用过idea开发过项目的同学,偶尔会遇到项目中有一些依赖没法下载,或者依赖包已经有项目却无法扫到的问题,本文就详细的介绍了解决方法,感兴趣的可以了解一下

用过idea开发过项目的同学,偶尔会遇到项目中有一些依赖没法下载,或者依赖包已经有项目却无法扫到的问题,下面就从原理来解决这类问题。

第一,镜像的原因导致无法下载依赖包。

这里我们简单介绍一下maven里面的仓库和镜像,参考一位大佬的博客

1.1 maven仓库

解决Idea中maven无法下载依赖包的问题_远程仓库

1.1.1 仓库分类

  1. 本地仓库:位于你本机上,在项目中优先从本地残酷查找依赖包,没有则从远程仓库找,并缓存到本地仓库中。
  2. 远程仓库(remote Repository):是一个公共的仓库,只需要简单的配置,便可以对其进行包的下载。远程仓库分为

1.中央仓库 :http://repo1.maven.org/maven2/
2. 私服 :一般公司在用,公司拥有自己的一些工具包,无法公开到公共库,则需要把这些包放到公司的仓库中,供公司开发使用。
3. 其它 :其他可以互联网公共访问maven repository,例如 jboss repository等

1. Mirror

mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。

原理如下图:

解决Idea中maven无法下载依赖包的问题_远程仓库_02

BRepository 这里id代标镜像名称。

http://B B仓库的url地址。

A 表示所有访问A仓库的,都会被重定向到B仓库去。

我们称B为A的镜像,也就是A仓库有的包,B仓库都有(不然还不如不配)。

下面是阿里云的镜像配置:

<mirror>
  <!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
  <id>planetmirror.com</id>
  <!--镜像名称 -->
  <name>aliyun</name>
  <!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <!--被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库(http://repo1.maven.org/maven2)的镜像,就需要将该元素设置成      central。这必须和中央仓库的id central完全一致。-->
  <mirrorOf>central</mirrorOf>
</mirror>

可以看出,阿里云做为了中央仓库的镜像,具体的配置本文不再叙述。

那么上面两点和题目有什么关系呢?

我们可以知道中央仓库虽然很方便,但是身处国内人开发人员,在下载依赖的时候经常遇到7~8KB的下载速度,无疑给开发带来了极大的痛苦,而使用阿里云等其它镜像,可以大大加快依赖包的下载速度,还没有配置的镜像的你,赶紧配置一波吧。

这里介绍一下快速找到和修改setting,xml文件的方法

1.第一

解决Idea中maven无法下载依赖包的问题_依赖包_03

2. 第二

解决Idea中maven无法下载依赖包的问题_maven_04

查看和修改setting.xml 文件

第一 在项目上点击右键

解决Idea中maven无法下载依赖包的问题_maven_05

具体的配置

解决Idea中maven无法下载依赖包的问题_依赖包_06

第二 profile的勾选

在实际的项目中,项目开发被经常被分为开发版本,测试版本,发布版本。而这三个项目版本为了方便开发和测试,项目里面的会有很多不同的配置,比如数据库的配置,中间件redis的配置等等。通过profile文件,我们可以通过简单的勾选来确定项目使用那些配置和那些包,当然profile还有更灵活的运用,读者可以自行百度。所以如果你没正确勾选profile,项目的有些包是无法下载的。或者你会遇到,依赖包明明就有,但是项目里面却无法扫描到jar里面文件的问题(这个问题,很常见不过基本是一些小问题,比如“未刷新”和”根文件的选择错误“等)。

当你刚入新项目组的时候,一定要问清楚镜像的配置和profile的勾选问题,当然profile是可以在setting文件里面进行配置的。

第三 刷新maven

解决Idea中maven无法下载依赖包的问题_依赖包_07

总结

对于后台项目的启动,在实际过程中还有很多的问题,刚入职的同学千万不要傻傻的自行百度,我们除了一些基本问题排查之外,更多的时候需要询问项目组的开发人员,毕竟有些配置的错误你找了半天,可能别人一眼就搞定了,当然还可以是pom文件的冲突问题,这里不再详细介绍。

您可能感兴趣的文章:
阅读全文