Maven安装与配置国内源
mac、linux、windows安装maven方式一样,解压就可以用。现在配置maven国内源与本地仓库。
安装目录
/usr/local/Cellar/maven-3.8.5
本地仓库地址
/usr/local/Cellar/maven-3.8.5/localRepository
在maven文件目录下,创建一个文件夹,比如“localRepository”,然后在conf文件下找到settings.xml配置文件,添加如下代码:
<localRepository>/usr/local/Cellar/maven-3.8.5/localRepository</localRepository>
镜像说明
<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 https://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<mirrors>
<mirror>
<id>planetmirror.com</id>
<name>PlanetMirror Australia</name>
<url>http://downloads.planetmirror.com/pub/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
...
</settings>
- id: 用来唯一标识该镜像,可以自定义,只要在当前文件中是唯一的即可
- name: 该镜像的友好名称,自定义
- url: 镜像的地址
- mirrorOf: 指示哪些仓库从当前镜像中查找
一个仓库只能对应一个镜像,当有多个镜像的mirrorOf指定了同一个仓库,maven只会从第一个匹配的仓库中进行查找。
一个镜像可以对应多个仓库,比如下面这样:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central,public</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
- *表示匹配所有的仓库
- repo1,repo2表示匹配repo1和repo2这两个仓库
- !repo1,*表示匹配除repo1外的所有仓库
<mirrors>
<mirror>
<id>internal-repository</id>
<name>Maven Repository Manager running on repo.mycompany.com</name>
<url>http://repo.mycompany.com/proxy</url>
<mirrorOf>external:*,!foo</mirrorOf>
</mirror>
<mirror>
<id>foo-repository</id>
<name>Foo</name>
<url>http://repo.mycompany.com/foo</url>
<mirrorOf>foo</mirrorOf>
</mirror>
</mirrors>
完整配置示例
<?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">
<localRepository>D:\repository</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
<!-- 阿里云 Maven 仓库 -->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<!-- 腾讯云 Maven 仓库 -->
<mirror>
<id>tencentmaven</id>
<mirrorOf>*</mirrorOf>
<name>Tencent Maven</name>
<url>https://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>
<!-- 华为云 Maven 仓库 -->
<mirror>
<id>huaweicloud</id>
<mirrorOf>*</mirrorOf>
<name>HuaweiCloud Maven</name>
<url>https://repo.huaweicloud.com/repository/maven/</url>
</mirror>
</mirrors>
<profiles>
</profiles>
</settings>