一. 更改说明
1.Intellij IDEA是有自己的Maven插件的,我们只需要配置一下就可以
2.默认仓库位置为C:\Users\账户.m2\repository,如果不更改仓库就会占用C盘空间,反正我的使用没多久仓库就是几个G大小了。
二. 配置说明
1.File->Settings(Settings仅是当前项目的maven设置,如果你希望所有项目maven位置都改变为如下设置,可以选择Other Settings),搜索maven,就可以看到如下界面:注意配置文件的位置和后面两个Override打√(仓库地址自己新建一个空白文件夹就行了)
2.将settings.xml的内容更改如下就大功告成了!
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--本地仓库目录,注意此处目录应该与上面的设置Local Repository一致-->
<localRepository>G:\MavenRepository</localRepository>
<mirrors>
<mirror>
<!--该镜像的id-->
<id>nexus-aliyun</id>
<!--该镜像用来取代的远程仓库,central是中央仓库的id-->
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<!--该镜像的仓库地址,这里是用的阿里的仓库-->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings>
mirror用来配置远程仓库的镜像,也就是说如果不配置镜像,那么当本地仓库没有想要的包的时候,就会从配置文件中配置的远程仓库去下载,如果有镜像的配置,那么就会去匹配镜像的规则,匹配上了就走镜像,没匹配上就走远程仓库。
简单而言, mirror可以拦截对远程仓库的请求 , 改变对目标仓库的下载地址
mirrorOf配置就是匹配规则配置
* = everything
external:* = everything not on the localhost and not file based.
repo,repo1 = repo or repo1
*,!repo1 = everything except repo1
如果在<mirrorOf>中配置*,表示当前mirror为所有仓库镜像,所有远程仓库请求地址为当前mirror对应的URL( having it mirror all repository requests)。所以我把此处的mirrorOf设置为central,此时当前mirror只会拦截仓库central的依赖请求。那么你可能有疑问,可是没有配置central的远程仓库啊!这是因为maven有默认配置过了。
<repositories>
<repository>
<id> central</id>
<name> Maven Repository Switchboard</name>
<layout> default</layout>
<url> http://repo1.maven.org/maven2</url>
<snapshots>
<enabled> false</enabled>
</snapshots>
</repository>
</repositories>