转载自 Maven精选系列--POM文件解析

之前有介绍到maven的标准目录结构,也看到了maven的核心配置文件pom.xml文件,今天就解析这个配置文件。

maven工程的核心文件就是这个pom文件了,每个工程在创建的时候都会有一个pom.xml配置文件,这个文件就是maven配置依赖、插件,管理项目及构建的入口,所有的配置都会在这个文件里面,所以搞懂这个文件的基本配置是非常必要的。

如下图,列表了POM文件一系列配置项。

下面这些配置是POM文件基本不可缺少的配置项。

下在讲讲最基本用到的配置项吧。

modelVersion

maven的模型版本,跟随maven定义,一般不能修改。

groupId

项目的组织,一般是顶级域名名称+公司或者组织名称,如alibaba的项目组织为com.alibaba,如果你们公司的域名为www.abc.com,那你们的项目组织最好就以com.abc命名。

artifactId

项目的名称,也是项目之间引进依赖的重要标识。像alibaba有个dubbo项目,dubbo项目可能又关联了许多子项目,所以artifactId就会定义有dubbo、dubbo-config这样的工程。

version

项目的版本,项目迭代开发,可能经历许多个版本,靠这个定义,默认是打包的组成部分,如dubbo-2.8.4.jar。另外,版本有两个概念,0.0.1-SNAPSHOT这样的是快照版本,0.0.1-RELEASE或者不带SNAPSHOT的就是RELEASE版本。

packaging

打包类型,有这几种类型:pom, jar, maven-plugin, ejb, war, ear, rar, par,默认不填就是jar包,一般常用的是pom、jar、war。

properties

配置公共属性,如spring-web,spring-aop你要依赖这两个,它们肯定是同一个版本的如4.5.0,可以把版本号放在属性上统一管理,也方便维护。

介绍了最基本的配置项,其他配置后续会一一分解。想了解更加详细的配置说明可以翻阅官方的文档:http://maven.apache.org/pom.html

Maven精选系列--POM文件解析相关推荐

  1. Maven精选系列--标准目录结构

    转载自 Maven精选系列--标准目录结构 Maven的目录结构和传统的项目有所差别,下面是一个jar包通常有的目录结构. src/main/java:源代码目录 src/main/resources ...

  2. Maven精选系列--classifier元素妙用

    转载自 Maven精选系列--classifier元素妙用 先来看这么一个依赖 <dependency><groupId>net.sf.json-lib</groupId ...

  3. Maven精选系列--常用命令详情

    转载自 Maven精选系列--常用命令详情 常用命令 mvn –version mvn -v 显示maven安装版本信息 mvn clean 清理项目打包文件,即项目下的target目录 mvn co ...

  4. Maven精选系列--过滤不同环境配置文件

    转载自 Maven精选系列--过滤不同环境配置文件 背景介绍 项目有开发.测试.生产至少有这三个环境,所需要的配置信息肯定不一样,所以打包的时候可以指定使用哪一个配置文件. 如测试环境使用:mvn p ...

  5. Maven精选系列--私库搭建及使用

    转载自 Maven精选系列--私库搭建及使用 为什么要使用私库 maven默认去远程中央仓库下载JAR包的,访问国外网络相当慢,如果团队每个人都去下载一遍无疑是网络的浪费,当然也可以添加国内的镜像,如 ...

  6. Maven精选系列--继承与聚合

    转载自 Maven精选系列--继承与聚合 继承 什么是继承,我们可以定义项目的父类项目,用于继承父项目的依赖.插件.属性等信息. <parent> <groupId>com.a ...

  7. Maven精选系列--依赖范围、传递、排除

    转载自 Maven精选系列--依赖范围.传递.排除 添加依赖 下面我添加了一个spring-web的依赖,maven就会去下载spring-web的jar包及它依赖的一些jar包. <depen ...

  8. Maven精选系列--发布jar包到Nexus私库

    转载自 Maven精选系列--发布jar包到Nexus私库 Nexus2可以通过管理界面来上传jar包到私库中,而最新的Nexus3却找不到了上传界面,只能通过以下方式来发布到私库. 发布第三方jar ...

  9. Maven精选系列--介绍与安装

    转载自 Maven精选系列--介绍与安装 Maven介绍 Maven是一个项目管理工具,用来管理项目的生命周期,如项目中各个项目之间的依赖管理,项目中使用到的jar包依赖管理,还有许多项目构建的插件等 ...

最新文章

  1. python画出心形图-python画出心形图
  2. STM32的同步规则模式使用
  3. python excel 数据匹配实现vlookup功能_如何用python实现excel中的vlookup功能?
  4. mysql5.5 function_mysql 5中的store function
  5. ffmpeg 安装教程
  6. mybatis学习第一次使用
  7. 室内声场计算机模拟的声线跟踪法和虚声源法,计算机声场模拟软件ODEON及其应用lowbar;彭庆 - 范文中心...
  8. c语言pow函数原型_c语言中pow函数的用法是什么?_后端开发
  9. 多目标优化--MOEAD算法笔记
  10. 每日一佳——Computational Rationalization: The Inverse Equilibrium Problem(Kevin Waugh et al. ,ICML ,2011)
  11. Python学习摘录(自用)
  12. 全球最大 IPO,我们能否赚笔养老钱?
  13. 如何创建一个自己的npm包,并且上传到npm官网上
  14. GifCam2.0使用
  15. Words for Windows
  16. MTK4G安卓核心板_XY6739CW(MTK6739平台)详细参数性能
  17. 普通高中计算机装备标准,普通高中教育技术装备标准Ⅰ.doc
  18. 三维计算机辅助设计教程,三维计算机辅助设计教程-Pro ENGINEER.pdf
  19. 图网络算法——概率图介绍与贝叶斯网络
  20. 【同花顺公式编辑教程】第1章 编辑器环境

热门文章

  1. [蓝桥杯]带分数-dfs
  2. http.ListenAndServe()到底做了什么?
  3. 噪声与振动控制工程手册_声学分享客噪声与振动控制篇大型隔振工程案例介绍...
  4. java计算字符串中字符出现的次数_java – 计算字符串中字符出现次数
  5. ubuntu 通过 海康sdk调用摄像头抓图片
  6. ubuntu分解压缩包
  7. P4897 【模板】最小割树(Gomory-Hu Tree)(网络流/最小割/树形结构)
  8. [BZOJ2616] SPOJ PERIODNI
  9. 【每日一题】8月14日题目精讲 [SCOI2010]游戏
  10. 技术情报局(笛卡尔树)