一、简介
settings.xml对于maven来说相当于全局性的配置,用于所有的项目,当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们使用settings.xml中的settings元素来确定这些配置。这包含了本地仓库位置,远程仓库服务器以及认证信息等。
settings.xml存在于两个地方:
1.安装的地方:$M2_HOME/conf/settings.xml
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,后者被称为用户配置。如果两者都存在,它们的内容将被合并,并且用户范围的配置优先。
平时配置时优先选择用户目录的settings.xml
下面是settings下的顶层元素的一个概览:
<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/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers/>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>
二、简单值
localRepository:这个值是构建系统的本地仓库的路径。默认的值是${user.home}/.m2/repository.如果一个系统想让所有登陆的用户都用同一个本地仓库的话,这个值是极其有用的。
interactiveMode:如果Maven要试图与用户交互来得到输入就设置为true,否则就设置为false,默认为true。
usePluginRegistry:如果Maven使用${user.home}/.m2/plugin-registry.xml来管理plugin的版本,就设置为true,默认为false。
offline:如果构建系统要在离线模式下工作,设置为true,默认为false。如果构建服务器因为网络故障或者安全问题不能与远程仓库相连,那么这个设置是非常有用的。
三、PluginGroups(插件组)
这个元素包含了一系列pluginGroup元素,每个又包含了一个groupId。当一个plugin被使用,而它的groupId没有被提供的时候,这个列表将被搜索。这个列表自动的包含了org.apache.maven.plugins和org.codehaus.mojo。
<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">
...
<pluginGroups>
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
...
</settings>
四、Servers(服务器)
1. 定义jar包下载的Maven仓库
2. 定义部署服务器
<servers>
<server>
<id>tomcat</id>
<username>bruce</username>
<password>password</password>
</server>
<server>
<id>shiyue</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
tomcat: 部署服务器
shiyue: Mave私服
五、Mirrors(镜像)
指定仓库的地址,则默认从指定的镜像下载jar包及插件
<mirrors> <mirror>
<id>mirrorId</id>
<mirrorOf>*</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://host:port/nexus-2.1.2/content/groups/public</url>
</mirror>
</mirrors>
六、Proxies(代理)
有时候你所在的公司基于安全因素考虑,要求你使用通过安全认证的代理访问因特网。这时就需要为Maven配置HTTP代理。
<proxies>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
</proxies>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
< 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 />
< interactiveMode />
< usePluginRegistry />
< offline />
< pluginGroups />
< servers />
< mirrors />
< proxies />
< profiles />
< activeProfiles />
</ settings >
|
二、简单值
localRepository:这个值是构建系统的本地仓库的路径。默认的值是${user.home}/.m2/repository.如果一个系统想让所有登陆的用户都用同一个本地仓库的话,这个值是极其有用的。
interactiveMode:如果Maven要试图与用户交互来得到输入就设置为true,否则就设置为false,默认为true。
usePluginRegistry:如果Maven使用${user.home}/.m2/plugin-registry.xml来管理plugin的版本,就设置为true,默认为false。
offline:如果构建系统要在离线模式下工作,设置为true,默认为false。如果构建服务器因为网络故障或者安全问题不能与远程仓库相连,那么这个设置是非常有用的。
三、PluginGroups(插件组)
这个元素包含了一系列pluginGroup元素,每个又包含了一个groupId。当一个plugin被使用,而它的groupId没有被提供的时候,这个列表将被搜索。这个列表自动的包含了org.apache.maven.plugins和org.codehaus.mojo。
1
2
3
4
5
6
7
8
9
10
|
< 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">
...
< pluginGroups >
< pluginGroup >org.mortbay.jetty</ pluginGroup >
</ pluginGroups >
...
</ settings >
|
四、Servers(服务器)
1. 定义jar包下载的Maven仓库
2. 定义部署服务器
1
2
3
4
5
6
7
8
9
10
11
12
|
< servers >
< server >
< id >tomcat</ id >
< username >bruce</ username >
< password >password</ password >
</ server >
< server >
< id >shiyue</ id >
< username >admin</ username >
< password >password</ password >
</ server >
</ servers >
|
tomcat: 部署服务器
shiyue: Mave私服
五、Mirrors(镜像)
指定仓库的地址,则默认从指定的镜像下载jar包及插件
1
2
3
4
5
6
7
8
9
|
< mirrors >
< mirror >
< id >mirrorId</ id >
< mirrorOf >*</ mirrorOf >
< name >Human Readable Name for this Mirror.</ name >
< url >http://host:port/nexus-2.1.2/content/groups/public</ url >
</ mirror >
</ mirrors >
|
六、Proxies(代理)
有时候你所在的公司基于安全因素考虑,要求你使用通过安全认证的代理访问因特网。这时就需要为Maven配置HTTP代理。
1
2
3
4
5
6
7
8
9
10
11
12
|
< proxies >
< proxy >
< id >optional</ id >
< active >true</ active >
< protocol >http</ protocol >
< username >proxyuser</ username >
< password >proxypass</ password >
< host >proxy.host.net</ host >
< port >80</ port >
< nonProxyHosts >local.net|some.host.com</ nonProxyHosts >
</ proxy >
</ proxies >
|
Maven实战(七)settings.xml相关配置的更多相关文章
-
(转)Maven实战(七)settings.xml相关配置
一.简介 settings.xml对于maven来说相当于全局性的配置,用于所有的项目,当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们 ...
-
Maven项目settings.xml的配置
原文地址 http://www.cnblogs.com/DreamDrive/p/5571916.html 在Maven中提供了一个settings.xml文件来定义Maven的全局环境信息.这个文件 ...
-
maven全局配置文件settings.xml详解
概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径. settings.xml文件是干什么的,为什么要配置它 ...
-
[转]maven全局配置文件settings.xml详解
概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径. Paste_Image.png settings.xm ...
-
大数据入门:Maven项目的创建及相关配置
目录 Maven项目的创建及相关配置 一.Maven的介绍 1.Maven是什么: 2.Maven作用: 3.Maven项目的目录结构: 4.Maven的三点坐标: 5.maven的pom文件: 6. ...
-
Maven(四-1) Maven的配置文件settings.xml
转载于:http://www.cnblogs.com/yakov/archive/2011/11/26/maven2_settings.html 概览 当Maven运行过程中的各种配置,例如pom.x ...
-
maven学习7 settings.xml解析
maven的配置文件settings.xml存在于两个地方: 1.安装的地方:${M2_HOME}/conf/settings.xml 2.用户的目录:${user.home}/.m2/setting ...
-
[转]Maven 全局配置文件settings.xml详解
原文地址:https://www.jianshu.com/p/110d897a5442 概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置se ...
-
Maven的配置文件-settings.xml内容分解
本文转载:https://www.cnblogs.com/jingmoxukong/p/6050172.html 概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件, ...
随机推荐
-
Linux更改主机名-适用于abuntu
今天复制了个ubuntu虚拟机,于是想更改下主机名以作区别.这是搜到的比较完整的资料,适用abuntu,不过其他linux系统还有待求证. 1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方 ...
-
Unhandled Error in Silverlight Application “Syncfusion.Silverlight.Olap.Gauge.OlapGauge”的类型初始值设定项引发异常
Silverlight 在运行时,如果出现如下错误: 检查生成的xap文件,解压出来,看是否里面包含该DLL:Syncfusion.Silverlight.Olap.Gauge.OlapGauge
-
Android - 除首次使用状态(SharedPreferences)
除首次使用状态(SharedPreferences) 本文地址: http://blog.csdn.net/caroline_wendy 用户首次登陆时, 可能须要用户教育, 解说界面操作, 可是不应 ...
-
ValueStack
1.把list集合压入栈顶 /** * * 查找所有的用户 * @return */ public String findAll() { List<User> allUser = user ...
-
【JVM】-NO.113.JVM.1 -【JDK11 HashMap详解-4-resize()】
Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...
-
iscroll.js 手机上下滑动 加载更多
html <!DOCTYPE html> <html> <head> <title>下拉上拉刷新页面代码</title> <meta ...
-
jQuery -- 监听input、textarea输入框值变化
$('textarea').bind('input propertychange', function(){ if($(".textareachange").val() != &q ...
-
java面试中经常会被问到分布式面试题
1.Dubbo的底层实现原理和机制 –高性能和透明化的RPC远程服务调用方案 –SOA服务治理方案 Dubbo缺省协议采用单一长连接和NIO异步通讯, 适合于小数据量大并发的服务调用,以及服务消费者机 ...
-
tiny4412 硬件解码
今天发现了一个好的资源,上面有三星的一些实例代码.http://git.infradead.org/users/kmpark/public-apps
-
jQuery之JSP加载JS文件不起作用的有效解决方法
JSP加载JS文件不起作用的有效解决方法 作者: 字体:[增加 减小] 类型:转载 时间:2014-04-08 jsp导入jquery文件,老是不起作用,原因在于其不能访问/WEB-INF/目录下的文 ...