前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

参考:http://zhaoshijie.iteye.com/blog/2094478
http://blog.csdn.net/cpf2016/article/details/45674377

还有一篇转载文章也说得很详细,见:http://blog.csdn.net/jiangyu1013/article/details/52424672

一、 节点说明

modelVersion:声明项目描述符遵循哪一个POM模型版本。
模型本身的版本很少改变,虽然如此,但它仍然是必不可少的.
这是为了当Maven引入了新的特性或者其他模型变更的时候,确保稳定性。parent:引入父级pom文件。groupId:公司名称、组织名称、项目开发者,配置时生成路径也是由此生成(包名,如com.XXX)。artifactId:项目通用名称。version:对应项目版本号。packaging:打包后的类型。如war、jar、maven-plugin、ejb、pom、ear、par、rarname:用户描述项目的名称,可选。url:项目主页的URL, Maven产生文档时用。
exclusions:排除管理(写在dependency中)。exclusion:具体要排除的依赖项。repositories:仓库管理。repository:具体仓库(有id、name、url子元素)。properties:自定义标签管理(可在其内自定义标签名、值,
用法同于el表达式:${标签名}得到其值),常用于集中定义依赖版本号。scope:管理部署(可以使用5个值:* compile,缺省值,适用于所有阶段,会随着项目一起发布。* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
)。

dependencies:依赖,jar包管理。dependency:具体的依赖项。dependencyManagement:依赖,jar包管理。

二 、 dependencyManagement 和 dependencies 的区别

1 )  dependencies:自动引入声明在dependencies里的所有依赖,并默认被所有的子项目继承。

如果项目中不写依赖项,则会从父项目继承(属性全部继承)声明在父项目dependencies里的依赖项。

2 )  dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要的依赖。

如果不在子项目中声明依赖,是不会从父项目中继承的;

只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;

如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

同时dependencyManagement让子项目引用依赖,而不用显示的列出版本号。

Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号,实现所有子项目使用的依赖项为同一版本。

3)dependencyManagement 中的 dependencies 并不影响项目的依赖项;

而独立dependencies元素则影响项目的依赖项。

只有当外层的dependencies元素中没有指明版本信息时,dependencyManagement 中的 dependencies 元素才起作用。一个是项目依赖,一个是maven项目多模块情况时作依赖管理控制的。

4 )  pluginManagement和plugins 区别相似,只不过它们用于管理plugin。

build:全局配置(project build),针对当前项目的所有情况都有效。
自定义配置(profile build)针对不同的profile配置。defaultGoal:执行build任务时,如果没有指定目标,将使用的默认值。finalName:build目标文件的名称,默认情况为${artifactId}-${version}。include:指定哪些文件将被匹配,以*作为通配符。excludes:指定哪些文件将被忽略。resources:用于包含或者排除某些资源文件。testResources:定义和resource类似,只不过在test时使用。directory:build目标文件的存放目录,就是定义resource文件所在的文件夹,默认在${basedir}/target目录。plugins:指定使用的插件。

configuration:配置该plugin期望得到的properties。

另外:

modules:一个项目有多个平级模块,也叫做多重模块,或者合成项目,modules实现平级模块管理。module:具体模块名称(标明该模块和artifactId标签中模块平级),是project标签的子元素。profiles:自定义配置信息管理。profile:具体自定义配置(可以在不同环境下使用不同的配制文件)。activation:profile 的子元素,指该配置的激活条件。Activation 是 profile 的开启钥匙,但不是激活profile的唯一方式。jdk:当匹配的jdk被检测到,profile被激活。os:用法同于jdk,当匹配的操作系统属性被检测到,profile 被激活。

maven 中 pom.xml 配置文件标签说明,dependencyManagement和dependencies区别相关推荐

  1. 详细解读Maven中pom.xml

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

  2. IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法

    关于IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法,简单粗暴直接! 问题产生及解决过程 产生的报错 解决过程 问题产生及解决过程 产生的报错 最近在研究IDEA的使用以及boots ...

  3. Maven之pom.xml常用标签解析及镜像配置

    前言 Maven仅仅是个打包工具而已,个人觉得没有太大必要花费在打包工具上,这里就列举一下个人觉得会常用标签的使用就好了,原理啥的基本就不太会去深度了解了,如果以后遇到需了解Maven工作原理的工作的 ...

  4. Java maven的 pom.xml配置文件中使用全局变量配置版本号

    为什么80%的码农都做不了架构师?>>>    配置全局变量控制版本号,修改起来比较快速方便,使用方式分两步: 第一步:在pom.xml文件中的<dependencies> ...

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

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

  6. 二:Maven中pom.xml元素详解

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6628201.html  一个pom.xml中包含了许多标签,各个标签是对项目生命周期.依赖管理的配置.常用的主 ...

  7. maven中pom.xml显示不正常的问题

    对于初学maven的人来说,配置环境是一件十分烦恼的事,本人也表示十分痛心,就自己遇到的问题做一下整理,方便后续学者有帮助可寻. 我遇到的问题是,在自认为maven配置无误之后,发现pom.xml显示 ...

  8. maven中pom.xml中的scope讲解

    一.compile:编译范围 compile是默认的范围:如果没有提供一个范围,编译范围依赖在所有的classpath 中可用,同时它们也会被打包.而且这些dependency会传递到依赖的项目中. ...

  9. maven中pom.xml中依赖包代码的查询地址

    http://mvnrepository.com/ 转载于:https://www.cnblogs.com/wangcp-2014/p/5456672.html

最新文章

  1. Ansible — Overview
  2. Discuz X3.1 论坛修改的方法(门户的修改)
  3. windows找不到文件javaw_windows电脑上,怎么快速找文件?
  4. 【嵌入式】Libmodbus源码分析(一)-类型和结构体
  5. 收集最优雅的8条编程最佳指导语录
  6. python3多线程第三方库_Python3 多线程
  7. 基于LINQ to SQL的WEB开发三层架构(1)
  8. Java查看字节码工具
  9. 数据结构思维 第九章 `Map`接口
  10. ngxin做http强制跳转https,接口的POST请求变成了GET
  11. 实现深拷贝的常用方法
  12. [渝粤教育] 西南科技大学 计算机网络应用基础 在线考试复习资料2021版(2)
  13. Egret入门学习日记 --- 问题汇总
  14. python绘制隐含波动率曲面_使用python+tushare计算期权隐含波动率并作图
  15. 解决能上QQ却不能上网的问题
  16. python绘制多段数码管
  17. 小程序 function(res)与(res) =的区别
  18. 康拓普:数据可视化如何让大数据更加人性化?
  19. STL--C++中 destory() 和deallocate()以及delete函数的相关性和区别性,destorydeallocate
  20. 个人作业2-英语学习案例app分析

热门文章

  1. Hadoop集群HDFS各节点磁盘使用率不平衡,使用balancer做数据平衡
  2. PWN-PRACTICE-BUUCTF-19
  3. REVERSE-PRACTICE-BUUCTF-24
  4. 想打ACM?想刷题?来这些online judge!
  5. 动手学PaddlePaddle(2):房价预测
  6. 阿里mysql 二进制_Mysql binlog 之阿里canal
  7. creo组装后怎样移动元件_BGA元件SMT装配工艺要点简介
  8. 八大排序算法的Python实现
  9. java设计模式之模板模式
  10. Java 中抽象类与接口