JavaMaven【八、pom.xml】
简介:




重点学习:
1、dependency-scope 依赖范围
- compile 编译 默认,对编译、测试、运行都有效
- provided 编译和测试时有效
- runtime 测试和运行时有效
- test 测试
- system 与provided类似,在编译测试时有效,但与本机系统相关联,可移植性差
- import 导入的范围,它使用在dependencyManagement中,表示从其他pom中导入dependency的配置

2、依赖传递
若项目A依赖B,B依赖C
则在配置pom.xml-dependency后,A的依赖项中也会出现C
若想排除A对C的依赖,在A的pom中配置exclusion
3、依赖冲突
当一个项目通过依赖传递依赖了多个Jar,且这些Jar的版本不同,就会产生依赖冲突
原则:
1、短路优先
A->B->C->X(jar)
A->D->X(jar) 则有限依赖这个版本的X
2、路径相同,先声明先依赖
若路径长度相同,先声明谁优先依赖谁,即优先依赖dependency中写在前面的那个
4、聚合和继承
1、聚合
创建一个容器项目,使用modules引入需要打包的项目

当install该项目时,被引入的所有项目都会一起打包
2、继承
当很多项目都使用同一个包时,可使用dependencyManagement将jar包的配置抽离出来
创建一个父类项目,配置dependencyManagement

将需要引用该包的项目依赖坐标中的版本和范围去掉,并使用parent标签引入父项目

JavaMaven【八、pom.xml】的更多相关文章
- Maven实战(八)pom.xml简介
目录 pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件.开发者需要遵循的规则.缺陷管理系统.组织和licenses.项目的url.项目的依赖 ...
- pom.xml文件说明(八)
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- Java-Maven(十一):Maven 项目出现pom.xml错误:Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin
Maven项目出现ERROR: eclipse更新了Maven插件后,让后就出现了以下错误: Description Resource Path Location Type Conflicting l ...
- maven pom.xml 说明
本文复制于:http://blog.csdn.net/zhuxinhua/article/details/5788546 一.pom.xml示例 <project> <modelVe ...
- Maven pom.xml文件详解
Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml ...
- Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4、Maven项目转换与pom.xml配置
文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...
- spring maven pom.xml设置
spring pom.xml设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...
- Maven实战:pom.xml与settings.xml
pom.xml与settings.xml pom.xml与setting.xml,可以说是Maven中最重要的两个配置文件,决定了Maven的核心功能,虽然之前的文章零零碎碎有提到过pom.xml和s ...
- 批量从jar包中提取pom.xml
将非maven项目转换为maven项目,首要第一步就是提取原工程依赖jar里的pom.xml,拼成<dependency>节点 import java.io.File; import ja ...
- Maven的POM.xml配置大全
<?xml version="1.0" encoding="utf-8"?> <project xmlns="http://mave ...
随机推荐
- PAT 甲级 1015 Reversible Primes (20 分) (进制转换和素数判断(错因为忘了=))
1015 Reversible Primes (20 分) A reversible prime in any number system is a prime whose "rever ...
- 从库因为sql错误导致主从同步被中断的问题解决
从库因为sql错误导致主从同步被中断的问题解决:show slave status\G;看lasterror:看延迟多少秒,正常情况下是没有延迟的. 跳过错误的那条sql:SET GLOBAL SQL ...
- Linux下切换用户根目录的指令
执行 usermod -d /shares/Storage/ ftp 会将用户ftp的根目录(~位置)修改为/shares/Storage/.
- 花里胡哨,如何在Linux终端输出带有颜色的字体,将带颜色的字体赋值给变量
背景 在日常操作Linux的情况下,总会遇到一些需求,比如说,把输出的内容用不同颜色标注出来,以达到醒目.提示的目的,那么如何在Linux终端输出带有颜色的字体呢? Linux终端输出字符颜色 ...
- Telegram Groups vs Telegram Channels
Telegram Groups vs Telegram Channels By Iaroslav Kudritskiy Unlike other messaging apps, using Tele ...
- 详解Arduino Uno开发板的引脚分配图及定义(重要且基础)
首先开发板实物图如下: 在本篇文章中,我们将详细介绍Arduino开发板的硬件电路部分,具体来说,就是介绍Arduino Uno开发板的引脚分配图及定义.Arduino Uno微控制器采用的是Atme ...
- thinkPHP5 命名空间别名
命名空间别名 对比 use app\index\model\User; 和 use model\User; 关键:\think\Loader::addNamespaceAlias('model','a ...
- Django之session详解
好文章来自追风的小蚂蚁:https://www.cnblogs.com/zhuifeng-mayi/p/9099811.html cookie:Cookie,有时也用其复数形式 Cookies,指某些 ...
- [百家号]铁流:华为Hi1620发布 自研内核还是ARM改?
华为Hi1620发布 自研内核还是ARM改? https://baijiahao.baidu.com/s?id=1618735211251270521&wfr=spider&for=p ...
- *#【Python】【基础知识】【模块】【random】【使用random创造一个随机数】
Random介绍: 输出随机数. 快照: #!/usr/bin/python # -*- coding: UTF-8 -*- import random #生成 10 到 20 之间的随机数 prin ...