在使用Maven下载jar包时,会遇到一些问题,如何解决他们呢?
1、仓库里有jar 包,更新Maven时报仓库里找不到jar包的错误
这个问题,时常在版本有大的变动时出现。(例如:新增加了一些feature,相关人员引入了一些常见的jar)这些情况下,可能会因为某种原因下载不到jar包的问题。
如何解决呢?
遇到这个问题时,开发组内的成员,通常都会把maven本地库清理后,重新build。这可以说是最简单最粗暴的方案。
这个我遇到这个问题时,通常是根据错误消息,在本地库中找到相关jar的目录,删除 .lastupdate文件后,重新构建。
原因是:maven在下载jar包是,发现有这个文件,就认为远程仓库里是没有这个jar包的,所以就不会再去下载了。
2、maven 下载jar速度慢
从 maven 默认的仓库下载jar 包,速度相当的慢,一个超过5MB的jar包,如果能下载成功,至少得1个小时吧,但是通常是下载不成功的,反复下载也不行的,每一次重来都是要重新下载的,不支持断点续传。
遇到这个情况,我通常会有两个解决办法
1)如果是只下载个别jar文件
可以用迅雷下载,下载后,直接放到仓库里就行了。下载地址,在执行mvn的命令行上有。
2)使用mirror
找一个国内的比较齐全的镜像,配置在默认的配置文件里 settings.xml。
这是一个阿里的镜像:
<mirror> <id>central</id> <!-- 建议id设置为central --> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
如果你配置的镜像比较多的话,通过id进行区分的。扫描镜像是按照配置的顺序来的。
另外比较重要的一点时,修改镜像后(顺序变了,删除、或者增加镜像),之前下载的jar可能会重新下载的。要避免重新下载,只需<id>还配置为修改之前的id,就可以了。
例如我之前是没有配置镜像的,只有一些jar包下载不下来,配置了这个镜像后,将id改为 默认的id,那么就可以避免之前已下载的jar再次下载了。