一、Maven的安装
二、Maven的配置
Settings.xml可以用来定义本地仓库、远程仓库、联网代理
Settings.xml文件可以存在两个地方:
1、多用户情况 conf目录下
2、单用户情况 .m2文件夹下
当两个文件同时存在时,.m2目录下的settings.xml会覆盖conf目录下的settings.xml
settings.xml文件包括以下几类:
1、LocalRepository:表示Maven的本地仓库目录,默认是.m2/repository
2、interactiveMode:表示是否使用交互模式
3、offline:表示是否离线,默认是false。这个属性表示在Maven进行项目编译和部署等操作时是否允许Maven进行联网来下载所需要的信息。
4、pluginGroups:默认情况下,Maven会自动把org.apache.maven.plugins和org.codehaus.mojo添加到pluginGroups下。
5、proxies:其下面可以定义一系列的proxy子元素,表示Maven在进行联网时需要使用到的代理。当设置了多个代理的时候第一个标记active为true的代理将会被使用。
6、servers:其下面可以定义一系列的server子元素,表示当需要连接到一个远程服务器的时候需要使用到的验证方式。
这主要有username/password和privateKey/passphrase这两种方式。
7、mirrors:用于定义一系列的远程仓库的镜像, 创建镜像以缓解远程仓库的压力,也就是说会把对远程仓库的请求转换到对其镜像地址的请求。
id:是用来区别mirror的,所有的mirror不能有相同的id
mirrorOf:用来表示该mirror是关联的哪一个仓库,其值为其关联仓库的id。当要同时关联多个仓库时,这多个仓库之间可以用逗号隔开;当要关联所有的仓库时,可以使用“*”表示;当要关联除某一个仓库以外的其他所有仓库时,可以表示为“*,!repositoryId”;当要关联不是localhost或用file请求的仓库时,可以表示为“external:*”。
url:表示该镜像的url。
8、profiles:用于指定一系列的profile。
当一个profile在settings.xml中是处于活动状态并且在pom.xml中定义了一个相同id的profile时,settings.xml中的profile会覆盖pom.xml中的profile。
9、properties:用于定义属性键值对的。当该profile是激活状态的时候,properties下面指定的属性都可以在pom.xml中使用。
repositories:用于定义远程仓库的,当该profile是激活状态的时候,这里面定义的远程仓库将作为当前pom的远程仓库。
pluginRepositories:在Maven中有两种类型的仓库,一种是存储工件的仓库,另一种就是存储plugin插件的仓库。
pluginRepositories的定义和repositories的定义类似,它表示Maven在哪些地方可以找到所需要的插件。
10、activeProfiles:底包含一系列的activeProfile元素,表示对于所有的pom都处于活跃状态的profile。