POM代表项目对象模型.它是Maven的基本工作单元.它是一个XML文件,作为pom.xml驻留在项目的基本目录中.
POM包含有关项目的信息以及Maven用于构建项目的各种配置细节(s ).
POM还包含目标和插件.在执行任务或目标时,Maven在当前目录中查找POM.它读取POM,获取所需的配置信息,然后执行目标.可以在POM中指定的一些配置是 :
项目依赖项
插件
目标
构建配置文件
项目版本
开发人员
邮件列表
在创建POM之前,我们应首先确定项目 group (groupId),其名称(artifactId)及其作为这些属性的版本有助于唯一标识存储库中的项目.
POM示例
4.0.0 com.companyname.project-group project 1.0
应该注意每个项目应该有一个POM文件.
所有POM文件都需要项目元素和三个必填字段: groupId,artifactId,version .
存储库中的项目符号为 groupId:artifactId:version .
a的最低要求POM :
Sr.No. | Node&描述 |
---|---|
1 | 项目根目录 这是项目根标记.您需要指定基本架构设置,例如apache架构和w3.org规范. |
2 | 模型版本 模型版本应为4.0.0 . |
3 | groupId 这是项目组的ID.这在组织或项目中通常是独一无二的.例如,银行集团com.company.bank有所有与银行相关的项目. |
4 | artifactId 这是项目的ID.这通常是项目的名称.例如,消费者银行业务.与groupId一起,artifactId定义了工件在存储库中的位置. |
5 | 版本 这是项目的版本.与groupId一起,它在工件的存储库中用于将版本彼此分开.例如 : com.company.bank:consumer-banking:1.0 com.company .bank:消费者银行:1.1. |
超级POM
Super POM是Maven的默认POM.所有POM都从父或默认继承(尽管明确定义与否).这个基础POM被称为 Super POM ,并且包含默认继承的值.
Maven使用有效的POM(从超级pom加上项目配置的配置)到执行相关目标.它可以帮助开发人员在他/她的pom.xml中指定最小配置细节.尽管可以轻松覆盖配置.
查看超级POM的默认配置的一种简单方法是运行以下命令: mvn help:effective-pom
在您计算机上的任何目录中创建一个pom.xml.使用上述示例pom的内容.
在下面的示例中,我们' ve在C:\ MVNN\ project文件夹中创建了一个pom.xml.
现在打开命令控制台,转到包含pom.xml的文件夹并执行以下 mvn 命令.
C:\MVN\project>mvn help:effective-pom
Maven将开始处理并显示有效 - pom.
[INFO] Scanning for projects...[INFO] Searching repository for plugin with prefix: 'help'.[INFO] ------------------------------------------------------------------------[INFO] Building Unnamed - com.companyname.project-group:project-name:jar:1.0[INFO] task-segment: [help:effective-pom] (aggregator-style)[INFO] ------------------------------------------------------------------------[INFO] [help:effective-pom {execution: default-cli}][INFO].....[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------------[INFO] Total time: < 1 second[INFO] Finished at: Thu Jul 05 11:41:51 IST 2012[INFO] Final Memory: 6M/15M[INFO] ------------------------------------------------------------------------
在应用继承,插值和配置文件后,在控制台中显示有效POM.
4.0.0 com.companyname.project-group project 1.0 C:\MVN\project\src\main\java src/main/scripts C:\MVN\project\src\test\java C:\MVN\project\target\classes C:\MVN\project\target\test-classes resource-0 C:\MVN\project\src\main\resources resource-1 C:\MVN\project\src\test\resources C:\MVN\project\target project-1.0 maven-antrun-plugin 1.3 maven-assembly-plugin< /artifactId> 2.2-beta-2 maven-clean-plugin< /artifactId> 2.2 maven-compiler-plugin 2.0.2 maven-dependency-plugin 2.0 maven-deploy-plugin 2.4 maven-ear-plugin 2.3.1 maven-ejb-plugin 2.1 maven-install-plugin 2.2 maven-jar-plugin 2.2 maven-javadoc-plugin 2.5 maven-plugin-plugin 2.4.3 maven-rar-plugin 2.2 maven-release-plugin 2.0-beta-8 maven-resources-plugin 2.3 maven-site-plugin 2.0-beta-7 maven-source-plugin 2.0.4 maven-surefire-plugin 2.4.3 maven-war-plugin 2.1-alpha-2 maven-help-plugin 2.1.1 false central Maven Repository Switchboard http://repo1.maven.org/maven2 never false central Maven Plugin Repository http://repo1.maven.org/maven2 C:\MVN\project\target/site
在上面的pom.xml中,你可以看到默认的项目源文件夹结构,输出目录,所需的插件,存储库,报告目录,哪个Maven会在执行期望的目标时使用.
Maven pom.xml也不需要手动编写. Maven提供了许多原型插件来创建项目,按顺序创建项目结构和pom.xml