文档章节

Maven之Pom解析

蓝蝶飞扬
 蓝蝶飞扬
发布于 2016/04/06 13:52
字数 512
阅读 61
收藏 0

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

当执行一个任务或者目标时,Maven 会查找当前目录下的 POM,从其中读取所需要的配置信息,然后执行目标。能够在 POM 中设置的一些配置如下:

  • project dependencies

  • plugins

  • goals

  • build profiles

  • project version

  • developers

  • mailing list

在创建 POM 之前,我们首先确定工程组(groupId),及其名称(artifactId)和版本,在仓库中这些属性是工程的唯一标识。

需要说明的是每个工程应该只有一个 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


本文转载自:http://wiki.jikexueyuan.com/project/maven/pom.html

共有 人打赏支持
蓝蝶飞扬
粉丝 25
博文 122
码字总数 89785
作品 0
西双版纳
私信 提问
Maven插件

Maven的插件 我们知道mvn 只是抽象了项目构建的生命周期,生命周期本身是不做任何工作的,具体的工作都是由插件来完成。每个个插件都有一个或多个目标(goal),我们通常执行的mvn命令就是去调...

zhcntmm
2017/12/21
5
0
插件解析机制

插件仓库: 与依赖构件一样,插件构件同样基于坐标存储在Maven仓库中。值得一提的是,Maven会区别对待依赖的远程仓库与插件的远程仓库。当Maven需要的依赖在本地仓库不存在时,它会去所配置的...

shamgod_code
2016/12/27
1
0
maven构建灵活性

Maven内置了三大特性:属性、Profile和资源过滤来支持构建的灵活性。 maven属性 事实上有六种类型的Maven属性: 内置属性:主要有两个常用内置属性——${basedir}表示项目根目录,即包含pom...

张欢19933
2016/12/23
12
0
java生成二维码图片和条形码图片

1.生成和解析二维码图片 如果是maven工程 在pom文件中加入依赖如下: <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.2.0</version> </depe......

kimyeongnam
2016/07/25
63
0
maven内置属性

Maven内置了三大特性:属性、Profile和资源过滤来支持构建的灵活性。 事实上有六种类型的Maven属性: 内置属性:主要有两个常用内置属性——${basedir}表示项目根目录,即包含pom.xml文件的目...

vshcxl
2016/03/30
202
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯与Github的魔幻会面背后的故事…

10月22日,腾讯开源管理办公室有幸邀请到Github新晋CEO Nat Friedman,前来鹅厂参观交流。目前腾讯已经有近70个项目在Github上开源,共获得17w stars,世界排名11位。Github是腾讯开源的主阵...

腾讯开源
30分钟前
1
0
单例模式

单例模式(Singleton pattern)属于创建型设计模式。 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对...

NinjaFrog
35分钟前
1
0
TypeScript基础入门之装饰器(三)

转载 TypeScript基础入门之装饰器(三) 继续上篇文章[TypeScript基础入门之装饰器(二)] 访问器装饰器 Accessor Decorator在访问器声明之前声明。 访问器装饰器应用于访问器的属性描述符,可用...

durban
52分钟前
2
0
spring5调研学习(转载)

Spring框架的新功能 这一章主要提供Spring框架新的功能和变更。 升级到新版本的框架可以参考。Spring git。 内容列表 Spring 5.x框架新的功能 Spring 4.x框架新的功能 Spring 3.x框架新的功能...

小海bug
今天
2
0
为何Spring框架能这么流行?

想要学习更多关于Spring框架在Java开发者中如此流行?看这篇文章可以学到更多! Spring框架特性 Spring是用于应用开发中的一款强大,轻量级框架。更广泛地说,你可以认为Spring框架是一个定义...

java知识分子
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部