[maven] pom.xml常用配置介绍
Maven pom常用配置解析表
1、<project>元素为pom.xml的根元素,以下列表列出了它所有的子元素
parent |
父项目的位置。父项目的位置由group ID,artifact ID和version指定。 |
modelVersion |
声明pom.xml文件遵从的版本 |
groupId |
全局性唯一的项目标识符。通常使用完全限定的包名来和其它项目区隔(比如,org.apache.maven) |
artifactId |
在给定gorupId内唯一的产品标识符。Artifact就是由项目输出的,或者由项目所使用的东西。比如由Maven项目输出的artifacts包括:JAR文件,war文件,ear文件等。 |
packaging |
此项目输出的artifact的类型,比如jar,war,ear pom。插件能够创建他们自己的packaging,所以,这里没有列出所有可能的类型。 |
name |
项目的名称 |
version |
此项目输出的artifact的当前版本。 |
description |
此项目的详细描述,被maven用来在需要的地方描述项目,比如web站点。而此元素可以使用CDATA,让description里可以包含HTML标签。 |
url |
项目主页的URL。 |
prerequisites |
描述此项目构建环境的先决条件 |
issueManagement |
描述此项目的发布管理系统信息 |
ciManagement |
此项目的持续集成信息 |
inceptionYear |
此项目开始年份,用四位整数指定。当产生版权信息时使用 |
mailingLists |
项目的邮件列表信息 |
developers |
项目的开发小组 |
contributors |
项目的贡献者,但不属于开发小组 |
licenses |
本项目的许可。这里的许可是对本项目的许可,而不是对依赖项的许可。如果有多个许可,那么用户可以选择其中之一,而不必全部。 |
scm |
指定此项目使用的源代码控制系统,如SVN等等。用于持续集成 |
organization |
描述此项目所属的机构。 |
build |
构建此项目所需的信息。 |
profiles |
项目本地构建文件列表,如果使用,可改变默认构建过程。 |
modules |
作为本项目一部分的模块(子项目)。 |
repositories |
依赖项和扩展项的远程仓库。 |
pluginRepositories |
构建所需插件的远程仓库。 |
dependencies |
此项目的所有依赖项列表。这些依赖项在构建过程中用于构造所需的classpath。这些依赖项在构建时会自动下载。 |
reports |
Deprecated。Maven现在忽略此元素。 |
reporting |
此元素包含用于在Maven产生的项目站点中产生报表的插件的规格。这些报表在执行mvn site命令时运行,所有报表出现在导航条上。 |
dependencyManagement |
所有项目的依赖信息继承于此。这一节中的依赖项并不马上解析。事实上,当一个继承于此的POM使用groupId和artifactId定义一个依赖项时,当版本信息和其他信息没有指定时,才会使用这里的依赖项定义。 |
distributionManagement |
此项目的分发信息。 |
properties |
在POM可以用作替代,以及用于资源过滤。 |
2、parent
artifactId |
父项目的artifact标识符 |
groupId |
父项目的group标识符 |
version |
父项目的版本 |
relativePath |
父项目的pom.xml文件的相对路径。默认值为../pom.xml。maven首先从当前构建项目开始查找父项目的pom文件,然后从本地仓库,最有从远程仓库。RelativePath允许你选择一个不同的位置。 |
3、prerequisites 项目先决条件
maven |
构建此项目所需的maven的最低版本 |
4、issueManagement 用于管理此项目的发布和跟踪(暂时不了解其用途)
system |
构建此项目所需的maven的最低版本 |
url |
此项目使用的发布管理系统的URL。 |
5、ciManagement
system |
持续集成系统的名称,比如hudson。 |
url |
此项目使用的持续集成系统的URL,如果有WEB界面的话。 |
notifiers |
配置用户信息和通知模式,当构建成功通知开发人员/用户, |
6、notifier 配置通知方法,当自动构建中断时,通知用户/开发人员,用于持续集成。
Type |
投递通知的机制 |
SendOnError |
是否发送错误通知 |
SendOnFailure |
是否发送失败通知 |
SendOnSuccess |
是否发送成功通知 |
SendOnWarning |
是否发送警告通知 |
Address |
Deprecated。发送通知的地址,通常为email地址 |
Configuration |
附加配置信息 |
7、mailingList 此项目的邮件列表。自动产生的站点将引用此信息,用于持续集成。
Name |
邮件列表的名称 |
Subscribe |
订阅此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接。 |
Unsubscribe |
退订此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接。 |
Post |
可以投递到此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接。 |
Archive |
可以浏览到邮件列表存档信息的URL。 |
OtherArchives |
可选的替代URLs,用于浏览邮件存档信息列表 |