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