背景
默认安装的maven使用官网地址下载依赖包,如果本地没有的话就会去中央仓库下载。但中央仓库在国内访问特别慢。有的时候一个大一点的工程耗时半天也完不了。
解决办法:使用国内镜像
将maven配置文件中下载依赖包地址修改成国内地址,一般都使用阿里的地址。
1 找到Maven的设置文件
配置文件settings.xml通常位于安装目录下的“Maven\apache-maven-3.x.x\conf\”。有的系统可能会在.m2的目录下。Windows会增加一个“MAVEN_HOME”的系统变量,最好在这里确定这个配置文件的真正位置,不然修改了配置不起作用。(如果不起作用可以直接在pom.xml的repository写入镜像地址,参见文末)。我的地址位于“D:\Development\Maven\apache-maven-3.6.0\conf”
2 在mirrors部分增加阿里云maven镜像配置
默认配置是没有镜像设置的。
<mirrors>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
</mirrors>
注:有的网友还给出了下面的镜像,没有验证,仅供参考。
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 中央仓库1 -->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<!-- 中央仓库2 -->
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
3 Windows的情况下将配置文件生效
下面是Eclipse的生效方式。
通过菜单Window/Preferences/Maven/打开偏好设置,将配置文件设置为第一步中的settings.xml文件。 然后应用即可。
4 如果setting.xml的镜像不起作用,可以直接在pom.xml中增加镜像地址。
不起作用通常可能是没有找到正确的setting.xml文件导致的。可以直接在pom.xml中增加镜像地址。
因为pom文件比较多,不推荐这个办法。
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
附录:maven依赖下载失败/中断后的处理办法
1. 启动继续下载
- IDEA的情况下,使用mvn -U idea:idea命令。 参考在idea中maven项目 jar包下载不完整解决办法(下载中断开网络)
- Eclipse情况下,参考eclipse上的maven,添加依赖后无法自动下载相应的jar包
2. 将本地库全部删除重新下载办法
通过Eclipse的 Window/Preferences/Maven/User Settings/Local Repository可以找到依赖库的本地路径。删除其中所有。然后重新下载所有依赖。
参考maven本地重新下载所有依赖的方法(基于eclipse)
S1.关闭eclipse
S2.删除~/.m2下的repository文件夹(删除所有的依赖包)
S3.启动eclipse,打开windows/show view/maven repositories,然后下面就会显示和server,console平行等级的菜单
S4.点击local Repositories/local Repositories,右击rebuild index,即可重新下载依赖包