5.2.parent
| artifactId | 父项目的artifact标识符 |
| groupId | 父项目的group标识符 |
| version | 父项目的版本 |
| relativePath | 父项目的pom.xml文件的相对路径。默认值为../pom.xml。maven首先从当前构建项目开始查找父项目的pom文件,然后从本地仓库,最有从远程仓库。RelativePath允许你选择一个不同的位置。 |
5.3.prerequisites
项目的先决条件
| maven | 构建此项目所需的maven的最低版本 |
5.4.issueManagement
用于管理此项目的发布跟踪(bug跟踪)。
| system | 构建此项目所需的maven的最低版本 |
| url | 此项目使用的发布管理系统的URL。 |
5.5.ciManagement
| system | 持续集成系统的名称,比如,continuum。 |
| url | 此项目使用的持续集成系统的URL,如果有WEB界面的话。 |
| notifiers | 配置用户信息和通知模式,当构建成功通知开发人员/用户, |
5.6.notifier
配置通知方法,当构建中断时通知用户/开发人员。
| Type | 投递通知的机制 |
| SendOnError | 是否发送错误通知 |
| SendOnFailure | 是否发送失败通知 |
| SendOnSuccess | 是否发送成功通知 |
| SendOnWarning | 是否发送警告通知 |
| Address | Deprecated。发送通知的地址,通常为email地址 |
| Configuration | 附加配置信息 |
5.7.mailingList
此项目的邮件列表。自动产生的站点将引用此信息。
| Name | 邮件列表的名称 |
| Subscribe | 订阅此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接。 |
| Unsubscribe | 退订此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接。 |
| Post | 可以投递到此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接。 |
| Archive | 可以浏览到邮件列表存档信息的URL。 |
| OtherArchives | 可选的替代URLs,用于浏览邮件存档信息列表 |
|
|
|
MAVEN指南(7)
5.1.project元素
<project>元素为描述符的根元素,以下列表列出它的所有子元素:
| parent | 父项目的位置,父项目中的值就是此项目中未指定的值的默认值。父项目的位置由group ID,artifact ID和version指定。 |
| modelVersion | 声明此POM项目描述符所遵从的版本 |
| groupId | 一个全局唯一的项目标识符。通常使用完全限定的包名来和其它项目区隔(比如,org.apache.maven) |
| artifactId | 在给定gorup ID内唯一的产品标识符。Artifact就是由项目产生的,或者由项目所使用的东西。比如由Maven项目产生的artifacts包括:JARs,source以及二进制分发包和WARs。 |
| 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 | 指定此项目使用的源代码控制系统,如CVS等等。 |
| organization | 描述此项目所属的机构。 |
| build | 构建此项目所需的信息。 |
| profiles | 项目本地构建文件列表,如果使用,可改变默认构建过程。 |
| modules | 作为本项目一部分的模块(子项目)。 |
| repositories | 查找发现依赖项和扩展项的远程仓库。 |
| pluginRepositories | 查找发现构建和报表所需插件的远程仓库。 |
| dependencies | 此项目的所有依赖项列表。这些依赖项在构建过程中用于构造所需的classpath。这些依赖项在构建时会自动下载。 |
| reports | Deprecated。Maven现在忽略此元素。 |
| reporting | 此元素包含用于在Maven产生的项目站点中产生报表的插件的规格。这些报表在执行mvn site命令时运行,所有报表出现在导航条上。 |
| dependencyManagement | 所有项目的依赖信息继承于此。这一节中的依赖项并不马上解析。事实上,当一个继承于此的POM使用groupId和artifactId定义一个依赖项时,当版本信息和其他信息没有指定时,才会使用这里的依赖项定义。 |
| distributionManagement | 此项目的分发信息。 |
| properties | 在POM可以用作替代,以及用于资源过滤。 |
本文深入探讨了Maven项目描述符(POM)的结构和关键元素,包括父项目引用、版本管理、构建环境、发布流程、持续集成、邮件列表配置等。详细解释了如何在项目中设置依赖管理、构建配置、发布跟踪、CI/CD系统集成以及邮件通知等,为开发者提供了一站式的Maven项目管理指南。
1023

被折叠的 条评论
为什么被折叠?



