本文共 8382 字,大约阅读时间需要 27 分钟。
一、什么是pom
pom代表项目对象模型,它是Maven中工作的基本组成单位。它是一个XML文件,始终保存在项目的基本目录中的pom.xml文件中。pom包含的对象是使用maven来构建的,pom.xml文件包含了项目的各种配置信息。 创建一个POM之前,应该要先决定项目组(groupId),项目名(artifactId)和版本(version),因为这些属性在项目仓库是唯一标识的。需要特别注意,每个项目都只有一个pom.xml文件。二、pom中的节点分布如下
4.0.0 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
三、各节点解释说明
1.基本配置信息4.0.0 com.company.bank parent 1.0 war
节点 | 解释说明 |
---|---|
modelVersion | pom模型版本,maven2和3只能为4.0.0 |
groupId | 这是项目组的编号,这在组织或项目中通常是独一无二的。 例如,一家银行集团com.company.bank拥有所有银行相关项目。 |
artifactId | 这是项目的ID。这通常是项目的名称。 例如,consumer-banking。 除了groupId之外,artifactId还定义了artifact在存储库中的位置。 |
version | 这是项目的版本。与groupId一起使用,artifact在存储库中用于将版本彼此分离。 例如:com.company.bank:consumer-banking:1.0,com.company.bank:consumer-banking:1.1 |
packaging | 项目打包方式,有以下值:pom, jar, maven-plugin, ejb, war, ear, rar, par |
2.依赖配置
(1) dependencies 项目相关依赖配置,如果在父项目写的依赖,会被子项目引用。一般会在父项目中定义子项目中所有共用的依赖。junit junit 4.12
(2)parent
用于确定父项目的坐标位置。com.learnPro SIP-parent 0.0.1-SNAPSHOT
(3) modules
有些maven项目会做成多模块的,这个标签用于指定当前项目所包含的所有模块。之后对这个项目进行的maven操作,会让所有子模块也进行相同操作。com-a com-b com-c
(4) properties
用于定义pom常量1.7
上面这个常量可以在pom文件的任意地方通过${
.version}来引用(5)dependencyManagement
配置写法同dependencies.....
在父模块中定义后,子模块不会直接使用对应依赖,但是在使用相同依赖的时候可以不加版本号,这样的好处是,父项目统一了版本,而且子项目可以在需要的时候才引用对应的依赖。
父项目:子项目: junit junit 4.12 test junit junit
3.构建配置
...... ......
5.项目信息
... .... repo ....
.... ... ... ... Java Dev Web UI sun ... -5
6.环境配置
issueManagement 目的问题管理系统(Bugzilla, Jira, Scarab)的名称和URLBugzilla http://127.0.0.1/bugzilla/
ciManagement
项目的持续集成信息continuum http://127.0.0.1:8080/continuum true true false false continuum@127.0.0.1
mailingLists
项目相关邮件列表信息..... User List user-subscribe@127.0.0.1 user-unsubscribe@127.0.0.1 user@127.0.0.1 http://127.0.0.1/user/ http://base.google.com/base/1/127.0.0.1
scm
许你配置你的代码库,供Maven web站点和其它插件使用scm:svn:http://127.0.0.1/svn/my-project scm:svn:https://127.0.0.1/svn/my-project HEAD http://127.0.0.1/websvn/my-project
prerequisites
项目构建的前提2.0.6
repositories,pluginRepositories
依赖和扩展的远程仓库列表,同上篇文章,setting.xml配置中介绍的。false always warn true never fail codehausSnapshots Codehaus Snapshots http://snapshots.maven.codehaus.org/maven2 default ...
转载地址:http://lswci.baihongyu.com/