pom作为项目对象模型,通过xml表示maven项目,使用pom.xml文件来实现。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
< project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
< modelVersion >4.0.0</ modelVersion >
<!-- 基本设置 -->
< groupId >...</ groupId > <!-- 项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如org.codehaus.mojo生成的相对路径为/org/codehaus/mojo -->
< artifactId >...</ artifactId > <!--项目的通用名称-->
< version >...</ version > <!--项目的版本-->
< packaging >...</ packaging > <!--打包的机制-->
< dependencies >...</ dependencies >
< parent >...</ parent >
< dependencyManagement >...</ dependencyManagement >
< modules >...</ modules >
< properties >...</ properties >
<!-- 构建过程的设置 -->
< build >...</ build >
< reporting >...</ reporting >
<!-- 项目信息设置 -->
< name >...</ name >
< description >...</ description >
< url >...</ url >
< inceptionYear >...</ inceptionYear >
< licenses >...</ licenses >
< organization >...</ organization >
< developers >...</ developers >
< contributors >...</ contributors >
<!-- 环境设置 -->
< issueManagement >...</ issueManagement >
< ciManagement >...</ ciManagement >
< mailingLists >...</ mailingLists >
< scm >...</ scm >
< prerequisites >...</ prerequisites >
< repositories >...</ repositories >
< pluginRepositories >...</ pluginRepositories >
< distributionManagement >...</ distributionManagement >
< profiles >...</ profiles >
</ project >
|
pom定义了最小的maven2元素,允许groupId,artifactId,version的所有需要的元素。
pom关系:依赖,集成,合成
依赖关系:
1
2
3
4
5
6
7
8
9
10
11
|
< dependencies >
< dependency >
< groupId >junit</ groupId >
< artifactId >junit</ artifactId >
< version >4.0</ version >
< type >jar</ type >
< scope >test</ scope >
< optional >true</ optional >
</ dependency >
...
</ dependencies >
|
继承关系
1
2
3
4
5
6
7
|
< project >
< modelVersion >4.0.0</ modelVersion >
< groupId >org.codehaus.mojo</ groupId >
< artifactId >my-parent</ artifactId >
< version >2.0</ version >
< packaging >pom</ packaging >
</ project >
|
合成(或者多个模块)
一个项目有多个模块,也叫做多重模块,或者合成项目。
1
2
3
4
5
6
7
8
9
10
|
< project >
< modelVersion >4.0.0</ modelVersion >
< groupId >org.codehaus.mojo</ groupId >
< artifactId >my-parent</ artifactId >
< version >2.0</ version >
< modules >
< module >my-project1< module >
< module >my-project2< module >
</ modules >
</ project >
|
插件
在build时,执行的插件,比较有用的部分,如使用jdk6.0编译等等
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
< project >
< build >
...
< plugins >
< plugin >
< groupId >org.apache.maven.plugins</ groupId >
< artifactId >maven-jar-plugin</ artifactId >
< version >2.0</ version >
<!-- true或false,是否加载插件扩展,默认false-->
< extensions >false</ extensions >
<!-- true或false,是否此插件配置会应用与pom-->
< inherited >true</ inherited >
<!-- 指定插件配置-->
< configuration >
< classifier >test</ classifier >
</ configuration >
<!-- 插件需要依赖的包-->
< dependencies >...</ dependencies >
<!-- 用于配置execution目标,一个插件可以有多个目标-->
< executions >...</ executions >
</ plugin >
</ plugins >
</ build >
</ project >
|
本文转自 LinkedKeeper 51CTO博客,原文链接:http://blog.51cto.com/sauron/1268834,如需转载请自行联系原作者