转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6628201.html 

一个pom.xml中包含了许多标签,各个标签是对项目生命周期、依赖管理的配置。常用的主要有:

1:<peoject>:pom.xml的根标签,一个maven项目用一对<peoject></project>标签包裹。

2:<modelVersion>:maven的版本

3:当前项目的坐标以及打包方式:

<groupId>:企业网址反写+项目名

<artifactId>:项目名-模块名

<version>:版本号+类型

版本号由三个整数表示,每个整数用“.”分隔,表示:大版本号.分支版本号.小版本号

类型:版本类型。主要有:snapshot快照版本(简化版本)、alpha内测版、beta公测版、release稳定版、GA正式发布版

<packaging>:打包类型,默认是jar,可以配置成war、zip、pom类型。

4:<name>:当前项目名

5:<url>:项目地址

6:<description>:项目描述信息

7:<developers>:开发者信息

8:<licenses>:项目许可证信息,用来发布时授予别人使用此项目的权利

9:<organization>:组织信息,企业信息

以上都是对这个maven项目的相关信息配置。

10:<properties>:属性值标签,也叫变量标签。与Ant中的property一样,可以通过这个标签包含一些属性并指定属性值。那么在pom.xml的其他地方,可以通过EL表达式访问变量的方法——${属性名}  来获取具体的属性值。一般这个用来作为整个pom.xml中需要重复使用的内容或者全局变量使用。

11:依赖标签

<dependencies><!--一个依赖包--> <dependency> <!--通过坐标指定依赖包--> <groupId> </groupId> <artifactId> </artifactId> <version> </version> <!--可选项:依赖范围。有六个可选值:常用compile/provided/test/runtime等--> <scope>一个范围</scope> <!--可选项:排除依赖传递:即:当前项目依赖当前配置的依赖包A时,如果这个依赖包又依赖其他包B,这里可以选择排除依赖的传递性,不下载导入B--> <exclusions> <exclusion>
              <!--被排除的依赖包坐标--><groupId> </groupId><artifactId> </artifactId><version> </version>
            </exclusion></exclusions> </dependency> </dependencies>

12:依赖管理标签:主要用于制定父pom.xml,其他项目可以继承这个pom.xml,从而避免重复定义某些depency。

<depencyManagement><depencies> <depency> 依赖包的坐标... </depency> </depencies> </depencyManagement>

13:<build>:项目支持标签,一般用来引入插件

<build><plugins> <plugin> <!--插件坐标--> <groupId> </groupId> <artifactId> </artifactId> <version> </version> 其他设置... </plugin> </plugins> </build>

14:<parent>:继承标签,用于继承父项目。

15:<moudules>:聚合标签,用于聚合多个maven项目,这样用某指令执行这个pom就会把聚合的各项目全部执行,同时处理多个项目。

示例:一个简单的构建JavaWeb项目的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.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>WebApp</artifactId> <packaging>war</packaging> <version>1.0</version> <name>WebApp Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.1</version> </dependency> <!--commons-io为commons-fileupload的可选依赖包--> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version> </dependency> </dependencies> <build> <finalName>WebApp</finalName> </build> </project>

转载于:https://www.cnblogs.com/NiceCui/p/7798779.html

二:Maven中pom.xml元素详解相关推荐

  1. Maven的pom.xml文件详解------The Basics

    转载自  Maven的pom.xml文件详解------The Basics Maven坐标 GroupId.artifactId和version构成了Maven的坐标(groupId和version ...

  2. Maven的pom.xml文件详解------Environment Settings

    转载自  Maven的pom.xml文件详解------Environment Settings Issue Management 使用的缺陷跟踪系统(Bugzilla,TestTrack,Clear ...

  3. Maven的pom.xml文件详解------Build Settings

    转载自  Maven的pom.xml文件详解------Build Settings 根据POM 4.0.0 XSD,build元素概念性的划分为两个部分:BaseBuild(包含poject bui ...

  4. Maven之pom.xml配置文件详解

    一.什么是pom pom代表项目对象模型,它是Maven中工作的基本组成单位.它是一个XML文件,始终保存在项目的基本目录中的pom.xml文件中.pom包含的对象是使用maven来构建的,pom.x ...

  5. Maven 之 settings.xml 文件详解

    文章目录 1 引言 2. settings.xml 元素详解 2.1 根元素settings概览 2.1.1 LocalRepository 2.1.2 InteractiveMode 2.1.3 U ...

  6. Maven的settings.xml配置详解

    Maven的settings.xml配置详解 1 基本介绍 maven的两大配置文件:settings.xml和pom.xml.其中settings.xml是maven的全局配置文件,pom.xml则 ...

  7. Ehcache 中ehcache.xml 配置详解和示例

    EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache是一种广泛使用的开源Java分布式缓存.主要面向通用缓存 ...

  8. 详细解读Maven中pom.xml

    详细解读Maven中pom.xml 一.POM是什么 二.存放位置 三.基本设置 3.1.头信息 3.2.maven的基本信息 3.3.POM之间的关系 3.3.1.依赖关系 3.3.2 继承关系:继 ...

  9. Maven学习—setting.xml pom.xml 配置文件详解

    一.Maven最重要的两个配置文件 Maven 仓库及相关设置配置文件 setting.xml配置文件可以设置本地仓库目录.远程仓库地址.JDK版本等等 Maven构建Java工程的pom配置文件 p ...

最新文章

  1. NBT:PICRUSt2预测宏基因组功能
  2. Lync Server 2010标准版系列PART1:基础构建
  3. NodeJs初学者经典入门解析
  4. Facebook利用Home平台加速进军移动领域
  5. 前端学习(2587):权限控制的分类和意义
  6. centos7 安装mysql php_Centos7 安装mysql与php
  7. 定时器驱动数码管c语言程序,74hc595驱动数码管时间程序
  8. ARM交叉编译工具arm-linux-gcc安装
  9. 【C语言】逗号运算符的使用举例
  10. 【推荐实践】RALM:实时Look-alike算法在微信看一看中的应用(附PPT下载链接)...
  11. 21 , CSS 构造模型
  12. Javascript的简单介绍,只作为个人笔记,不作为知识参考,如果想要学习,请找其他文章
  13. php 显示探针_UPUPW PHP探针安全版19.08.06
  14. 未来大数据的主要应用领域包括哪些
  15. 针对自动识别大麦网滑块验证码,提出解决方案,并进行分析、总结
  16. 《大数据: IDEA开发工具配置大全》
  17. tensorflow实现Word2Vec——生成词向量以及降维可视化
  18. FLiText: A Faster and Lighter Semi-Supervised Text Classification with Convolution Networks
  19. 防止进入后含有edittext的界面自动弹出软件盘
  20. StageFright框架(四)Video Buffer傳輸流程

热门文章

  1. 中专科学计算机应用基础试题及答案,职业中专《计算机应用基础》期中考试试卷...
  2. c语言中return的作用_C语言入门基础整理
  3. 牛客练习赛44 A 小y的序列 (模拟,细节)
  4. Flask-SQLAlchemy的基本使用
  5. Java线程池理解及用法
  6. luogu P1762 偶数
  7. BroadcastReceive之ip拨号
  8. python特性、属性以及私有化
  9. poj 1830 开关问题 高斯消元
  10. poj 1236 Network of Schools