Maven POM介绍
POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。
执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。
POM 中可以指定以下配置:
- 项目构建 profile
- 项目依赖
- 插件
- 执行目标
- 项目版本
- 项目开发者列表
- 相关邮件列表信息
创建POM 文件pom.xml
在项目根目录下创建pom.xml文件。
pom.xml:
<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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- 模型版本 --><modelVersion>4.0.0</modelVersion><!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group --><groupId>com.companyname.project-group</groupId><!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 --><artifactId>project-name</artifactId><!-- 版本号 --><version>1.0</version>
</project>
所有 POM 文件都需要 project 元素和三个必需字段:groupId,artifactId,version。
- project 是工程的根标签
- modelVersion要设置为4.0.0
- groupId是工程组的标识
- artifactId是工程的标识,通常是工程的名称。groupId和artifactId一起定义了artifact在仓库中的位置
- version是工程的版本号,在 artifact 的仓库中,它用来区分不同的版本,如:com.companyname.project-group:project-name:1.0
父(Super)POM
父(Super)POM是 Maven 默认的 POM。所有的 POM 都会继承自一个父 POM(无论是否显式定义了这个父 POM)。父 POM 包含了一些可以被继承的默认设置。因此,当 Maven 发现需要下载 POM 中的依赖时,它会到 Super POM 中配置的默认仓库去下载。
Maven 使用 effective pom来执行相关的目标,它帮助开发者在 pom.xml 中做尽可能少的配置(Super pom 加上工程自己的配置),当然这些配置可以被重写。
使用以下命令来查看 Super POM 默认配置:
mvn help:effective-pom
POM 标签可参考《POM 标签大全》
Maven POM介绍相关推荐
- java配置pom安装依赖包,Maven pom.xml 添加本地jar包依赖以及打包方法
Maven项目打包时,如果遇到需要添加本地jar包依赖的时候,可以选择两种方法: 1. 安装到本地仓库 第一种方法比较常规,适用于需要添加的jar包也是由maven项目导出,含有pom文件的时候.只需 ...
- Maven实战——常用Maven插件介绍
http://www.infoq.com/cn/news/2011/04/xxb-maven-7-plugin 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任 ...
- 在maven pom.xml中加载不同的properties ,如localhost 和 dev master等jdbc.properties 中的链接不一样...
[参考]:maven pom.xml加载不同properties配置[转] 首先 看看效果: 点开我们项目中的Maven projects 后,会发现右侧 我们profile有个可勾选选项.默认勾选l ...
- 常用Maven插件介绍(下)(转)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- Maven 持续介绍与注意事项
本篇承接上一篇: maven 入门介绍 POM POM 代表工程对象模型.它是使用 Maven 工作时的基本组件,是一个 xml 文件.它被放在工程根目录下,文件命名为 pom.xml. 能够在 PO ...
- maven 入门介绍
Maven是什么? Maven: 中文翻译,"专家".基本上有两个用途 一是构建工具, 用来把源代码构建成可发布的构件.类似于ant; 另外一个是项目管理工具. 官方给出的定义是 ...
- Maven与Maven POM的区别
Maven与Maven POM的区别 在用idea创建maven项目时,在Project Metadata界面Type选项下唯有Maven和Maven POM两个选项,我们应该怎么选择呢? 下面介绍一 ...
- Maven 概要介绍
Maven 简介 Apache Maven 是一套软件工程管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven 工程结构 ...
- Maven pom.xml 全配置(二)不常用配置
Maven pom.xml 全配置(二)不常用配置 这里贴出Maven pom.xml文件中使用率较少的配置参数,如果此篇文档中没有找到你想要的参数,移步Maven pom.xml 全配置(一)常用配 ...
- Maven pom.xml 全配置(一)常用配置
Maven pom.xml 全配置(一)常用配置 这里贴出一个Maven中出现频率较高的配置参数注释,方便理解项目中Maven的配置具体的作用.如果在此博文中没有找到你想看到的参数,可以移步Maven ...
最新文章
- AWS - Couldformation 初探
- CentOS安装Oracle全过程
- mail 发送email
- Flutter开发之iOS真机调试(六)
- SQL ALTER TABLE 语句
- Fater R-CNN 整体把握
- configure: error: xml2-config not found. Please check your libxml2 installation
- HTTP协议···(一)
- int sel 在c语言表示,C语言教程ch1初识C程序.ppt
- Gamma 函数与exponential power distribution (指数幂分布)
- 译文-Minor GC vs Major GC vs Full GC
- ORA-07445ORA-00108错误案例
- android tv 蓝牙服务_Android TV Remote Service
- CFS三层靶机搭建及其内网渗透
- Talib技术因子详解(九)
- Android 去掉Power键屏保功能,但保留长按关机功能。
- AIGC基础:从VAE到DDPM原理、代码详解
- 数据挖掘——关联规则挖掘
- 精灵图(sprite)CSS动画实现
- android flash路径动画,Flash制作沿着路径的动画