一、简介

Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

基本介绍可见菜鸟教程Maven 教程 | 菜鸟教程www.runoob.com

二、setting文件配置标签

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">
${user.home}/workspace/env/maven/repository
true
false
server_id
auth_username
auth_pwd
path/to/private_key
some_passphrase
664
775
aliyun
sjtug maven proxy
https://mirrors.sjtug.sjtu.edu.cn/maven-central/
central
example_proxy
false
https
proxy.molo.com
443
proxy_user
proxy_pwd
*.google.com|ibiblio.org
profile_id
false
9.9
Windows XP
Windows
x86
5.1.2600
mavenVersion
2.0.3
/path/to/active_on_exists
/path/to/active_on_missing
this.property.is.accessible.when.current.profile.actived
maven_repository_id
maven_repository_name
http://host/maven
default
false
always
warn

三、镜像仓库(mirror)为什么需要配置镜像仓库

1、在不配置镜像的情况下,maven默认会使用中央库.

2、maven中央库在国外,有时候访问会很慢,尤其是下载较大的依赖的时候,有时候速度会很慢,甚至会出现无法下载的情况.

3、为了解决依赖下载速度的问题,需要配置maven国内镜像配置多个镜像仓库配置多个镜像仓库,他不是我们想的一个找不到就在下一个镜像中寻找,只有在第一个镜像仓库链接不上的情况下,才会去下一个镜像仓库中寻找。而我们想要的效果是:当a.jar在第一个mirror中不存在的时候,maven会去第二个mirror中查询下载,但是maven不会这样做!

多个 mirror 优先级 按照 id字母顺序进行排列(即与编写的顺序无关)常见镜像仓库

alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/repositories/central/
ibiblio
central
Human Readable Name for this Mirror.
http://mirrors.ibiblio.org/pub/mirrors/maven2/
jboss-public-repository-group
central
JBoss Public Repository Group
http://repository.jboss.org/nexus/content/groups/public
central
Maven Repository Switchboard
http://repo1.maven.org/maven2/
central
repo2
central
Human Readable Name for this Mirror.
http://repo2.maven.org/maven2/

注意

标签中*

*:表示匹配所有远程仓库,这样pom中定义的仓库和中定义的仓库将失效jar包搜索顺序

1、本地仓库

2、maven settings profile中的repository;
3、pom.xml中profile中定义的repository;
4、pom.xml中的repositorys(定义多个repository,按定义顺序找);
5、mirror

但若如上所说,*配置为*号,则其他地址失效。