文档章节

Maven之Pom解析

蓝蝶飞扬
 蓝蝶飞扬
发布于 2016/04/06 13:52
字数 512
阅读 59
收藏 0
点赞 1
评论 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
博文 119
码字总数 89785
作品 0
西双版纳
Maven插件

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

zhcntmm ⋅ 2017/12/21 ⋅ 0

插件解析机制

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

shamgod_code ⋅ 2016/12/27 ⋅ 0

maven构建灵活性

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

张欢19933 ⋅ 2016/12/23 ⋅ 0

使用spring+maven时配置文件中的特殊字符处理

在类中需要使用一个key(a&b)进行MD5加密, 项目使用spring+maven,此key需要spring注入, 而在spring配置文件中则需要引用maven的pom.xml配置文件里定义的key。 而这个key(a&b)在xml文件中是会...

_sprout ⋅ 2012/12/26 ⋅ 1

java生成二维码图片和条形码图片

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

kimyeongnam ⋅ 2016/07/25 ⋅ 0

maven内置属性

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

vshcxl ⋅ 2016/03/30 ⋅ 0

Maven使用问题汇总

Non-resolvable parent POM [INFO] Scanning for projects...[ERROR] The build could not read 1 project -> [Help 1][ERROR] [ERROR] The project com.iflytek.ossp:ossp-resserver-servic......

天天顺利 ⋅ 2016/03/30 ⋅ 2

Maven学习问题解决

问题1:Eclipse Warning: No grammar constraints (DTD or XML schema) detected for the document DTD验证是xml的规范,要去除警告的话: Eclipse4.2解决方法:windows-> preferences -> xm......

yzbty23 ⋅ 2016/04/21 ⋅ 0

maven内部运行原理解析(二)

在第一篇里主要介绍了maven的几个核心概念,这一篇里我们就以一个简单的例子来分析整个maven运行的过程。构建所使用的项目结构如下: 项目结构 主要是一个echo项目,其包含了两个module,分别...

new_chaos ⋅ 01/25 ⋅ 0

(三)Maven详解之仓库------本地仓库、远程仓库

在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地...

飓风2000 ⋅ 2015/02/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 13分钟前 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 25分钟前 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 28分钟前 ⋅ 0

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 41分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 57分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 今天 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 今天 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 今天 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 今天 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部