史上最全的maven的l⽂件详解(转载)此⽂出处:——
1<project xmlns="/POM/4.0.0"
2xmlns:xsi="/2001/XMLSchema-instance"
3xsi:schemaLocation="/POM/4.0.0 /maven-v4_0_0.xsd ">
4
5<!-- ⽗项⽬的坐标。如果项⽬中没有规定某个元素的值,那么⽗项⽬中的对应值即为项⽬的默认值。
6坐标包括group ID,artifact ID和 version。 -->
7<parent>
8<!-- 被继承的⽗项⽬的构件标识符 -->
9<artifactId>xxx</artifactId>
10
11<!-- 被继承的⽗项⽬的全球唯⼀标识符 -->
12<groupId>xxx</groupId>
13
14<!-- 被继承的⽗项⽬的版本 -->
15<version>xxx</version>
16
reset键怎么按17<!-- ⽗项⽬的l⽂件的相对路径。相对路径允许你选择⼀个不同的路径。默认值是../l。
18 Maven⾸先在构建当前项⽬的地⽅寻⽗项⽬的pom,其次在⽂件系统的这个位置(relativePath位置),
19然后在本地仓库,最后在远程仓库寻⽗项⽬的pom。 -->
20<relativePath>xxx</relativePath>
21</parent>
22
23<!-- 声明项⽬描述符遵循哪⼀个POM模型版本。模型本⾝的版本很少改变,虽然如此,但它仍然是必不可少的,
24这是为了当Maven引⼊了新的特性或者其他模型变更的时候,确保稳定性。 -->
25<modelVersion> 4.0.0 </modelVersion>
26
27<!-- 项⽬的全球唯⼀标识符,通常使⽤全限定的包名区分该项⽬和其他项⽬。并且构建时⽣成的路径也是由此⽣成,
28如pany.app⽣成的相对路径为:/com/mycompany/app -->
29<groupId>xxx</groupId>
30
31<!-- 构件的标识符,它和group ID⼀起唯⼀标识⼀个构件。换句话说,你不能有两个不同的项⽬拥有同样的artifact ID
32和groupID;在某个特定的group ID下,artifact ID也必须是唯⼀的。构件是项⽬产⽣的或使⽤的⼀个东西,Maven
33为项⽬产⽣的构件包括:JARs,源码,⼆进制发布和WARs等。 -->
34<artifactId>xxx</artifactId>
35
36<!-- 项⽬产⽣的构件类型,例如jar、war、ear、pom。插件可以创建他们⾃⼰的构件类型,所以前⾯列的不是全部构件类型 -->
37<packaging> jar </packaging>
38
39<!-- 项⽬当前版本,格式为:主版本.次版本.增量版本-限定版本号 -->
40<version> 1.0-SNAPSHOT </version>
41
42<!-- 项⽬的名称, Maven产⽣的⽂档⽤ -->
43<name> xxx-maven </name>
44
45<!-- 项⽬主页的URL, Maven产⽣的⽂档⽤ -->
46<url> </url>
47
48<!-- 项⽬的详细描述, Maven 产⽣的⽂档⽤。当这个元素能够⽤HTML格式描述时(例如,CDATA中的⽂本会被解析器忽略,
49就可以包含HTML标签),不⿎励使⽤纯⽂本描述。如果你需要修改产⽣的web站点的索引页⾯,你应该修改你⾃⼰的
50索引页⽂件,⽽不是调整这⾥的⽂档。 -->
51<description> A maven project to study maven. </description>
52
53<!-- 描述了这个项⽬构建环境中的前提条件。 -->
54<prerequisites>
55<!-- 构建该项⽬或使⽤该插件所需要的Maven的最低版本 -->
56<maven></maven>
57</prerequisites>
58
59<!-- 项⽬的问题管理系统(Bugzilla, Jira, Scarab,或任何你喜欢的问题管理系统)的名称和URL,本例为 jira -->
60<issueManagement>
61<!-- 问题管理系统(例如jira)的名字, -->
62<system> jira </system>
63
64<!-- 该项⽬使⽤的问题管理系统的URL -->asp服务器绿版
65<url> jira.baidu/banseon </url>
66</issueManagement>
67
68<!-- 项⽬持续集成信息 -->
69<ciManagement>
70<!-- 持续集成系统的名字,例如continuum -->
71<system></system>
72
73<!-- 该项⽬使⽤的持续集成系统的URL(如果持续集成系统有web接⼝的话)。 -->
74<url></url>
75
76<!-- 构建完成时,需要通知的开发者/⽤户的配置项。包括被通知者信息和通知条件(错误,失败,成功,警告) --> 77<notifiers>
78<!-- 配置⼀种⽅式,当构建中断时,以该⽅式通知⽤户/开发者 -->
79<notifier>
80<!-- 传送通知的途径 -->
81<type></type>
82
83<!-- 发⽣错误时是否通知 -->
84<sendOnError></sendOnError>
85
86<!-- 构建失败时是否通知 -->
87<sendOnFailure></sendOnFailure>
88
89<!-- 构建成功时是否通知 -->
90<sendOnSuccess></sendOnSuccess>
91
92<!-- 发⽣警告时是否通知 -->
93<sendOnWarning></sendOnWarning>
94properties是什么文件
95<!-- 不赞成使⽤。通知发送到哪⾥ -->
96<address></address>
97
98<!-- 扩展配置项 -->
99<configuration></configuration>
100</notifier>
101</notifiers>
102</ciManagement>
103
104<!-- 项⽬创建年份,4位数字。当产⽣版权信息时需要使⽤这个值。 -->
105<inceptionYear />
106
107<!-- 项⽬相关邮件列表信息 -->
108<mailingLists>
109<!-- 该元素描述了项⽬相关的所有邮件列表。⾃动产⽣的⽹站引⽤这些信息。 -->
110<mailingList>
111<!-- 邮件的名称 -->
112<name> Demo </name>
113
114<!-- 发送邮件的地址或链接,如果是邮件地址,创建⽂档时,mailto: 链接会被⾃动创建 -->
115<post> banseon@126 </post>
116
117<!-- 订阅邮件的地址或链接,如果是邮件地址,创建⽂档时,mailto: 链接会被⾃动创建 -->
118<subscribe> banseon@126 </subscribe>
119
120<!-- 取消订阅邮件的地址或链接,如果是邮件地址,创建⽂档时,mailto: 链接会被⾃动创建 -->
121<unsubscribe> banseon@126 </unsubscribe>
122
123<!-- 你可以浏览邮件信息的URL -->
124<archive> http:/hi.baidu/banseon/demo/dev/ </archive>
125</mailingList>
126</mailingLists>
127
128<!-- 项⽬开发者列表 -->
129<developers>
130<!-- 某个项⽬开发者的信息 -->
131<developer>
132<!-- SCM⾥项⽬开发者的唯⼀标识符 -->
133<id> HELLO WORLD </id>
134
135<!-- 项⽬开发者的全名 -->
136<name> banseon </name>
137
138<!-- 项⽬开发者的email -->
139<email> banseon@126 </email>
140
141<!-- 项⽬开发者的主页的URL -->
142<url></url>
143
144<!-- 项⽬开发者在项⽬中扮演的⾓⾊,⾓⾊元素描述了各种⾓⾊ -->
145<roles>
146<role> Project Manager </role>
147<role> Architect </role>
148</roles>
149
150<!-- 项⽬开发者所属组织 -->
151<organization> demo </organization>
152
153<!-- 项⽬开发者所属组织的URL -->
154<organizationUrl> hi.baidu/xxx </organizationUrl>
155
156<!-- 项⽬开发者属性,如即时消息如何处理等 -->
157<properties>
158<dept> No </dept>
159</properties>
160
161<!-- 项⽬开发者所在时区, -11到12范围内的整数。 -->
162<timezone> -5 </timezone>
163</developer>
164</developers>
165
166<!-- 项⽬的其他贡献者列表 -->
167<contributors>
168<!-- 项⽬的其他贡献者。参见developers/developer元素 -->
169<contributor>
170<!-- 项⽬贡献者的全名 -->
171<name></name>
172
173<!-- 项⽬贡献者的email -->
174<email></email>
175
176<!-- 项⽬贡献者的主页的URL -->
177<url></url>
178
179<!-- 项⽬贡献者所属组织 -->
180<organization></organization>
181
182<!-- 项⽬贡献者所属组织的URL -->
183<organizationUrl></organizationUrl>
184
185<!-- 项⽬贡献者在项⽬中扮演的⾓⾊,⾓⾊元素描述了各种⾓⾊ -->
186<roles>
187<role> Project Manager </role>
188<role> Architect </role>
189</roles>
190
191<!-- 项⽬贡献者所在时区, -11到12范围内的整数。 -->
192<timezone></timezone>
193
194<!-- 项⽬贡献者属性,如即时消息如何处理等 -->
195<properties>
196<dept> No </dept>
197</properties>
198</contributor>
199</contributors>
200
201<!-- 该元素描述了项⽬所有License列表。应该只列出该项⽬的license列表,不要列出依赖项⽬的 license列表。
202如果列出多个license,⽤户可以选择它们中的⼀个⽽不是接受所有license。 -->
203<licenses>
204<!-- 描述了项⽬的license,⽤于⽣成项⽬的web站点的license页⾯,其他⼀些报表和validation也会⽤到该元素。 -->
205<license>
206<!-- license⽤于法律上的名称 -->
207<name> Apache 2 </name>
208
209<!-- 官⽅的license正⽂页⾯的URL -->
210<url> www.baidu/banseon/ </url>
211
212<!-- 项⽬分发的主要⽅式:
213 repo,可以从Maven库下载
214 manual,⽤户必须⼿动下载和安装依赖 -->
215<distribution> repo </distribution>
216
217<!-- 关于license的补充信息 -->
218<comments> A business-friendly OSS license </comments>
219</license>
220</licenses>
221
222<!-- SCM(Source Control Management)标签允许你配置你的代码库,供Maven web站点和其它插件使⽤。 -->
223<scm>
224<!-- SCM的URL,该URL描述了版本库和如何连接到版本库。欲知详情,请看SCMs提供的URL格式和列表。该连接只读。 --> 225<connection>
226 scm:svn:svn.baidu/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
227</connection>
shell命令判断js正则表达式api228
229<!-- 给开发者使⽤的,类似connection元素。即该连接不仅仅只读 -->
230<developerConnection>
231 scm:svn:svn.baidu/banseon/maven/banseon/dao-trunk
232</developerConnection>
233
234<!-- 当前代码的标签,在开发阶段默认为HEAD -->
235<tag></tag>
236
237<!-- 指向项⽬的可浏览SCM库(例如ViewVC或者Fisheye)的URL。 -->
238<url> svn.baidu/banseon </url>
239</scm>
240
241<!-- 描述项⽬所属组织的各种属性。Maven产⽣的⽂档⽤ -->
242<organization>
243<!-- 组织的全名 -->
244<name> demo </name>
245
246<!-- 组织主页的URL -->
247<url> www.baidu/banseon </url>
248</organization>
249
250<!-- 构建项⽬需要的信息 -->
251<build>
252<!-- 该元素设置了项⽬源码⽬录,当构建项⽬的时候,构建系统会编译⽬录⾥的源码。该路径是相对
253于l的相对路径。 -->
254<sourceDirectory></sourceDirectory>
255
256<!-- 该元素设置了项⽬脚本源码⽬录,该⽬录和源码⽬录不同:绝⼤多数情况下,该⽬录下的内容会
257被拷贝到输出⽬录(因为脚本是被解释的,⽽不是被编译的)。 -->
258<scriptSourceDirectory></scriptSourceDirectory>
259
260<!-- 该元素设置了项⽬单元测试使⽤的源码⽬录,当测试项⽬的时候,构建系统会编译⽬录⾥的源码。
261该路径是相对于l的相对路径。 -->
262<testSourceDirectory></testSourceDirectory>
263
264<!-- 被编译过的应⽤程序class⽂件存放的⽬录。 -->
265<outputDirectory></outputDirectory>
266
267<!-- 被编译过的测试class⽂件存放的⽬录。 -->
268<testOutputDirectory></testOutputDirectory>
269
270<!-- 使⽤来⾃该项⽬的⼀系列构建扩展 -->
271<extensions>
272<!-- 描述使⽤到的构建扩展。 -->
273<extension>
274<!-- 构建扩展的groupId -->
275<groupId></groupId>
276
277<!-- 构建扩展的artifactId -->
278<artifactId></artifactId>
279
280<!-- 构建扩展的版本 -->
281<version></version>
282</extension>
283</extensions>
284
285<!-- 当项⽬没有规定⽬标(Maven2 叫做阶段)时的默认值 -->
286<defaultGoal></defaultGoal>
287
288<!-- 这个元素描述了项⽬相关的所有资源路径列表,例如和项⽬相关的属性⽂件,这些资源被包含在
289最终的打包⽂件⾥。 -->
290<resources>
291<!-- 这个元素描述了项⽬相关或测试相关的所有资源路径 -->
292<resource>
293<!-- 描述了资源的⽬标路径。该路径相对target/classes⽬录(例如${project.build.outputDirectory})。
294举个例⼦,如果你想资源在特定的包⾥(org.ssages),你就必须该元素设置为
295 org/apache/maven/messages。然⽽,如果你只是想把资源放到源码⽬录结构⾥,就不需要该配置。 -->
296<targetPath></targetPath>
297
298<!-- 是否使⽤参数值代替参数名。参数值取⾃properties元素或者⽂件⾥配置的属性,⽂件在filters元素
299⾥列出。 -->
300<filtering></filtering>
301
302<!-- 描述存放资源的⽬录,该路径相对POM路径 -->
303<directory></directory>
304
305<!-- 包含的模式列表,例如**/*.xml. -->
306<includes>
307<include></include>
308</includes>
309
310<!-- 排除的模式列表,例如**/*.xml -->
311<excludes>
312<exclude></exclude>
313</excludes>
314</resource>
315</resources>
316
317<!-- 这个元素描述了单元测试相关的所有资源路径,例如和单元测试相关的属性⽂件。 -->
318<testResources>
319<!-- 这个元素描述了测试相关的所有资源路径,参见build/resources/resource元素的说明 -->
320<testResource>
321<!-- 描述了测试相关的资源的⽬标路径。该路径相对target/classes⽬录(例如${project.build.outp
utDirectory})。322举个例⼦,如果你想资源在特定的包⾥(org.ssages),你就必须该元素设置为
323 org/apache/maven/messages。然⽽,如果你只是想把资源放到源码⽬录结构⾥,就不需要该配置。 -->
324<targetPath></targetPath>
325
326<!-- 是否使⽤参数值代替参数名。参数值取⾃properties元素或者⽂件⾥配置的属性,⽂件在filters元素
327⾥列出。 -->
328<filtering></filtering>
329
330<!-- 描述存放测试相关的资源的⽬录,该路径相对POM路径 -->
331<directory></directory>
332
333<!-- 包含的模式列表,例如**/*.xml. -->
334<includes>
335<include></include>
336</includes>
337
338<!-- 排除的模式列表,例如**/*.xml -->
339<excludes>
340<exclude></exclude>
341</excludes>
342</testResource>
343</testResources>
344
345<!-- 构建产⽣的所有⽂件存放的⽬录 -->
346<directory></directory>
347
348<!-- 产⽣的构件的⽂件名,默认值是${artifactId}-${version}。 -->
349<finalName></finalName>
350
351<!-- 当filtering开关打开时,使⽤到的过滤器属性⽂件列表 -->
352<filters></filters>
353
354<!-- ⼦项⽬可以引⽤的默认插件信息。该插件配置项直到被引⽤时才会被解析或绑定到⽣命周期。给定插件的任何本355地配置都会覆盖这⾥的配置 -->
356<pluginManagement>
js与后端通信357<!-- 使⽤的插件列表。 -->
358<plugins>
359<!-- plugin元素包含描述插件所需要的信息。 -->
360<plugin>
361<!-- 插件在仓库⾥的group ID -->
362<groupId></groupId>
363
364<!-- 插件在仓库⾥的artifact ID -->
365<artifactId></artifactId>
366
367<!-- 被使⽤的插件的版本(或版本范围) -->
368<version></version>
369
370<!-- 是否从该插件下载Maven扩展(例如打包和类型处理器),由于性能原因,只有在真需要下载时,该371元素才被设置成enabled。 -->
372<extensions>true/false</extensions>
373
374<!-- 在构建⽣命周期中执⾏⼀组⽬标的配置。每个⽬标可能有不同的配置。 -->
375<executions>
376<!-- execution元素包含了插件执⾏需要的信息 -->
377<execution>
378<!-- 执⾏⽬标的标识符,⽤于标识构建过程中的⽬标,或者匹配继承过程中需要合并的执⾏⽬标 --> 379<id></id>
380
381<!-- 绑定了⽬标的构建⽣命周期阶段,如果省略,⽬标会被绑定到源数据⾥配置的默认阶段 -->
382<phase></phase>
383
384<!-- 配置的执⾏⽬标 -->
385<goals></goals>
386
387<!-- 配置是否被传播到⼦POM -->
388<inherited>true/false</inherited>
389
390<!-- 作为DOM对象的配置 -->
391<configuration></configuration>
392</execution>
393</executions>
394
395<!-- 项⽬引⼊插件所需要的额外依赖 -->
396<dependencies>
397<!-- 参见dependencies/dependency元素 -->
398<dependency>
399</dependency>
400</dependencies>
401
402<!-- 任何配置是否被传播到⼦项⽬ -->
403<inherited>true/false</inherited>
404
405<!-- 作为DOM对象的配置 -->
406<configuration></configuration>
407</plugin>
408</plugins>
409</pluginManagement>
410
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论