Maven之Pom解析

1.POM 包含了关于工程和各类配置细节的信息,也包含了目标和插件。ui

当执行一个任务或者目标时,Maven 会查找当前目录下的 POM,从其中读取所须要的配置信息,而后执行目标。可以在 POM 中设置的一些配置以下:插件

  • project dependenciesxml

  • plugins继承

  • goalsci

  • build profiles开发

  • project versionio

  • developerstable

  • mailing list配置

在建立 POM 以前,咱们首先肯定工程组(groupId),及其名称(artifactId)和版本,在仓库中这些属性是工程的惟一标识。file

须要说明的是每一个工程应该只有一个 POM 文件。

  • 全部的 POM 文件须要 project 元素和三个必须的字段:groupId, artifactId,version

  • 在仓库中的工程标识为 groupId:artifactId:version

  • POM.xml 的根元素是 project,它有三个主要的子节点:

节点 描述
groupId 这是工程组的标识。它在一个组织或者项目中一般是惟一的。例如,一个银行组织 com.company.bank 拥有全部的和银行相关的项目。
artifactId 这是工程的标识。它一般是工程的名称。例如,消费者银行。groupId 和 artifactId 一块儿定义了 artifact 在仓库中的位置。
version 这是工程的版本号。在 artifact 的仓库中,它用来区分不一样的版本。例如:
com.company.bank:consumer-banking:1.0
com.company.bank:consumer-banking:1.1.

2.Super Pom

全部的 POM 都继承自一个父 POM(不管是否显式定义了这个父 POM)。父 POM 也被称做 Super POM,它包含了一些能够被继承的默认设置。

Maven 使用 effective pom(Super pom 加上工程本身的配置)来执行相关的目标,它帮助开发者在 pom.xml 中作尽量少的配置,固然这些配置能够被方便的重写。

查看 Super POM 默认配置的一个简单方法是执行如下命令:mvn help:effective-pom

相关文章
相关标签/搜索