maven的配置文件settingsxml详解ZYWord文档下载推荐.docx
《maven的配置文件settingsxml详解ZYWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《maven的配置文件settingsxml详解ZYWord文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
9.
10.
--Maven是否需要和用户交互以获得输入。
如果Maven需要和用户交互以获得输入,则设置成true,反之则应为false。
默认为true。
11.
interactiveMode>
true<
/interactiveMode>
12.
13.
--Maven是否需要使用plugin-registry.xml文件来管理插件版本。
14.
--如果设置为true,则在{user.home}/.m2下需要有一个plugin-registry.xml来对plugin的版本进行管理
15.
--默认为false。
16.
usePluginRegistry>
false<
/usePluginRegistry>
17.
18.
--表示Maven是否需要在离线模式下运行。
如果构建系统需要在离线模式下运行,则为true,默认为false。
19.
--当由于网络设置原因或者安全因素,构建服务器不能连接远程仓库的时候,该配置就十分有用。
20.
offline>
/offline>
21.
22.
--当插件的组织Id(groupId)没有显式提供时,供搜寻插件组织Id(groupId)的列表。
23.
--该元素包含一个pluginGroup元素列表,每个子元素包含了一个组织Id(groupId)。
24.
--当我们使用某个插件,并且没有在命令行为其提供组织Id(groupId)的时候,Maven就会使用该列表。
25.
--默认情况下该列表包含了。
26.
pluginGroups>
27.
28.
--plugin的组织Id(groupId)
29.
pluginGroup>
/pluginGroup>
30.
31.
/pluginGroups>
32.
33.
--用来配置不同的代理,多代理profiles可以应对笔记本或移动设备的工作环境:
通过简单的设置profile
id就可以很容易的更换整个代理配置。
34.
proxies>
35.
36.
--代理元素包含配置代理时需要的信息
37.
proxy>
38.
39.
--代理的唯一定义符,用来区分不同的代理元素。
40.
id>
myproxy<
/id>
41.
42.
--该代理是否是激活的那个。
true则激活代理。
当我们声明了一组代理,而某个时候只需要激活一个代理的时候,该元素就可以派上用处。
43.
active>
/active>
44.
45.
--代理的协议。
协议:
//主机名:
端口,分隔成离散的元素以方便配置。
46.
protocol>
//…<
/protocol>
47.
48.
--代理的主机名。
49.
host>
/host>
50.
51.
--代理的端口。
52.
port>
8080<
/port>
53.
54.
--代理的用户名,用户名和密码表示代理服务器认证的登录名和密码。
55.
username>
proxyuser<
/username>
56.
57.
--代理的密码,用户名和密码表示代理服务器认证的登录名和密码。
58.
password>
somepassword<
/password>
59.
60.
--不该被代理的主机名列表。
该列表的分隔符由代理服务器指定;
例子中使用了竖线分隔符,使用逗号分隔也很常见。
61.
nonProxyHosts>
*|ibiblio.org<
/nonProxyHosts>
62.
63.
/proxy>
64.
65.
/proxies>
66.
67.
--配置服务端的一些设置。
一些设置如安全证书不应该和pom.xml一起分发。
这种类型的信息应该存在于构建服务器上的settings.xml文件中。
68.
servers>
69.
70.
--服务器元素包含配置服务器时需要的信息
71.
server>
72.
73.
--这是server的id(注意不是用户登陆的id),该id与distributionManagement中repository元素的id相匹配。
74.
server001<
75.
76.
--鉴权用户名。
鉴权用户名和鉴权密码表示服务器认证所需要的登录名和密码。
77.
my_login<
78.
79.
--鉴权密码
。
80.
my_password<
81.
82.
--鉴权时使用的私钥位置。
和前两个元素类似,私钥位置和私钥密码指定了一个私钥的路径(默认是/home/hudson/.ssh/id_dsa)以及如果需要的话,一个密钥
83.
--将来passphrase和password元素可能会被提取到外部,但目前它们必须在settings.xml文件以纯文本的形式声明。
84.
privateKey>
${usr.home}/.ssh/id_dsa<
/privateKey>
85.
86.
--鉴权时使用的私钥密码。
87.
passphrase>
some_passphrase<
/passphrase>
88.
89.
--文件被创建时的权限。
如果在部署的时候会创建一个仓库文件或者目录,这时候就可以使用权限(permission)。
90.
--这两个元素合法的值是一个三位数字,其对应了unix文件系统的权限,如664,或者775。
91.
filePermissions>
664<
/filePermissions>
92.
93.
--目录被创建时的权限。
94.
directoryPermissions>
775<
/directoryPermissions>
95.
96.
--传输层额外的配置项
97.
configuration>
/configuration>
98.
99.
/server>
100.
101.
/servers>
102.
103.
--为仓库列表配置的下载镜像列表。
104.
mirrors>
105.
106.
--给定仓库的下载镜像。
107.
mirror>
108.
109.
--该镜像的唯一标识符。
id用来区分不同的mirror元素。
110.
111.
112.
--镜像名称
113.
name>
PlanetMirror
Australia<
/name>
114.
115.
--该镜像的URL。
构建系统会优先考虑使用该URL,而非使用默认的服务器URL。
116.
url>
/url>
117.
118.
--被镜像的服务器的id。
例如,如果我们要设置了一个Maven中央仓库()的镜像,-->
119.
--就需要将该元素设置成central。
这必须和中央仓库的id
central完全一致。
120.
mirrorOf>
central<
/mirrorOf>
121.
122.
/mirror>
123.
124.
/mirrors>
125.
126.
--根据环境参数来调整构建配置的列表。
settings.xml中的profile元素是pom.xml中profile元素的裁剪版本。
127.
--它包含了id,activation,
repositories,
pluginRepositories和
properties元素。
128.
--这里的profile元素只包含这五个子元素是因为这里只关心构建系统这个整体(这正是settings.xml文件的角色定位),而非单独的项目对象模型设置。
129.
--如果一个settings中的profile被激活,它的值会覆盖任何其它定义在POM中或者profile.xml中的带有相同id的profile。
130.
profiles>
131.
132.
--根据环境参数来调整的构件的配置
133.
profile>
134.
135.
--该配置的唯一标识符。
136.
test<
137.
138.
--自动触发profile的条件逻辑。
Activation是profile的开启钥匙。
139.
--如POM中的profile一样,profile的力量来自于它能够在某些特定的环境中自动使用某些特定的值;
这些环境通过activation元素指定。
140.
--activation元素并不是激活profile的唯一方式。
settings.xml文件中的activeProfile元素可以包含profile的id。
141.
--profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活(如,-P
test)。
142.
activation>
143.
144.
--profile默认是否激活的标识
145.
activeByDefault>
/activeByDefault>
146.
147.
--activation有一个内建的java版本检测,如果检测到jdk版本与期待的一样,profile被激活。
148.
jdk>
1.7<
/jdk>
149.
150.
--当匹配的操作系统属性被检测到,profile被激活。
os元素可以定义一些操作系统相关的属性。
151.
os>
152.
153.
--激活profile的操作系统的名字
154.
Windows
XP<
155.
156.
--激活profile的操作系统所属家族(如
'
windows'
)
157.
family>
Windows<
/family>
158.
159.
--激活profile的操作系统体系结构
160.
arch>
x86<
/arch>
161.
162.
--激活profile的操作系统版本
163.
version>
/version>
164.
165.
/os>
166.
167.
--如果Maven检测到某一个属性(其值可以在POM中通过${名称}引用),其拥有对应的名称和值,Profile就会被激活。
168.
--如果值字段是空的,那么存在属性名称字段就会激活profile,否则按区分大小写方式匹配属性值字段
169.
property>
170.
171.
--激活profile的属性的名称
172.
mavenVersion<
173.
174.
--激活profile的属性的值
175.
value>
/value>
176.
177.
/property>
178.
179.
--提供一个文件名,通过检测该文件的存在或不存在来激活profile。
missing检查文件是否存在,如果不存在则激活profile。
180.
--另一方面,exists则会检查文件是否存在,如果存在则激活profile。
181.
file>
182.
183.
--如果指定的文件存在,则激活profile。
184.
exists>
/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/<
/exists>
185.
186.
--如果指定的文件不存在,则激活profile。
187.
missing>
/missing>
188.
189.
/file>
190.
191.
/activation>
192.
193.
--对应profile的扩展属性列表。
Maven属性和Ant中的属性一样,可以用来存放一些值。
这些值可以在POM中的任何地方使用标记${X}来使用,这里X是指属性的名称。
194.
--属性有五种不同的形式,并且都能在settings.xml文件中访问。
195.
--1.
env.X:
在一个变量前加上"
env."
的前缀,会返回一个shell环境变量。
例如,"
env.PATH"
指代了$path环境变量(在Windows上是%PATH%)。
196.
--2.
project.x:
指代了POM中对应的元素值。
197.
--3.
settings.x:
指代了settings.xml中对应元素的值。
198.
--4.
Java
System
Properties:
所有可通过()访问的属性都能在POM中使用该形式访问,
199.
--
如/usr/lib/jvmjre。
200.
--5.
x:
在<
properties/>
元素中,或者外部文件中设置,以${someVar}的形式使用。
201.
properties>
202.
203.
如果这个profile被激活,那么属性${user.install}就可以被访问了
204.
user.install>
usr/local/winner/jobs/maven-guide<
/user.install>
205.
206.
/properties>
207.
208.
--远程仓库列表,它是Maven用来填充构建系统本地仓库所使用的一组远程项目。
209.