Warning maven relocated xml-apis to 1.0.b
maven 依赖
在maven项目中,一些基础的jar包被引用多次是很常见的事情。maven选择jar的版本是基于
- 依赖深度浅的 比如C项目依赖xml.jar。C依赖的B也引入了xml.jar。那么优先选择C中指定的
- 如果依赖深度一样,第一次依赖的jar被选中
实际项目开发,一般是exclude掉B项目中的xml.jar,在C项目中显示指定xml.jar的版本。
<dependency><groupId>b</groupId><artifactId>test</artifactId><version>1.0</version><exclusions><exclusion><groupId>xml</group><artifactId>xml</artifactId></exclusion></exclusions>
</dependency>
<dependency><groupId>xml</group><artifactId>xml</artifactId><version> 2.2</version>
</dependency>
问题
按照上面的原则对xml-apis.1.0.b进行升级到xml-apis.1.4。但是始终exclude不出去xml-apis1.0.b
mvn dependency:tree
看到xml-apis.1.0.的来源已经不是依赖的项目中引入的,而是在根路径下。
这个颠覆了对maven的认知。
看了下xml-apis这个,就知道版本有多混乱了,2.0.2的比1.4的还要先发布。
解决
直接引入了xerces xercesImpl 2.10.0.这个jar包中有xml-apis1.4.01版本
<dependency><groupId>xerces</groupId><artifactId>xercesImpl</artifactId><version>2.10.0</version>
</dependency>
参考
http://javamoods.blogspot.com/2009/06/maven-how-relocated-artifacts-can-ruin.html
https://stackoverflow.com/questions/11677572/dealing-with-xerces-hell-in-java-maven?answertab=votes
https://gxnotes.com/article/29548.html
Warning maven relocated xml-apis to 1.0.b相关推荐
- Maven项目SSM整合中mysql8.0.11对应Druid版本问题以及pom.xml写法
场景 本地:mysql 8.0 Maven项目:mysql驱动 8.0.11 Maven项目:Druid1.1.10 此前Druid为版本1.0.20,项目会报 java.sql.SQLExcepti ...
- nexus-3.6.0-02-unix.tar.gz安装(Centos下),maven setting.xml配置案例,项目root的pom.xml配置,parent-pom的pom.xml配置案例
1.下载nexus 进入:http://www.sonatype.org/nexus/downloads/ 说明: [OSS = Open Source Software,开源软件 – 免费] [FR ...
- Maven pom.xml 全配置(二)不常用配置
Maven pom.xml 全配置(二)不常用配置 这里贴出Maven pom.xml文件中使用率较少的配置参数,如果此篇文档中没有找到你想要的参数,移步Maven pom.xml 全配置(一)常用配 ...
- Maven pom.xml 全配置(一)常用配置
Maven pom.xml 全配置(一)常用配置 这里贴出一个Maven中出现频率较高的配置参数注释,方便理解项目中Maven的配置具体的作用.如果在此博文中没有找到你想看到的参数,可以移步Maven ...
- 学习笔记——Maven pom.xml配置详解
POM的全称是"ProjectObjectModel(项目对象模型)". pom.xml详解 声明规范 <projectxmlns="http://maven.ap ...
- Maven pom.xml配置详解(三)
2019独角兽企业重金招聘Python工程师标准>>> 环境设置 issueManagement <!--项目的问题管理系统(Bugzilla,Jira,Scarab,或任何你 ...
- 你真的了解Maven pom.xml 的配置吗?【详解maven pom】
Maven POM POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖 ...
- 在maven pom.xml中加载不同的properties ,如localhost 和 dev master等jdbc.properties 中的链接不一样...
[参考]:maven pom.xml加载不同properties配置[转] 首先 看看效果: 点开我们项目中的Maven projects 后,会发现右侧 我们profile有个可勾选选项.默认勾选l ...
- Maven setting.xml 配置详解
声明规范 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://ww ...
最新文章
- CentOs7安装gitlab(转!)
- mysql创建表时显示错误_MYSQL创建表出现错误 ERROR Code 1118如何解决
- python控制结构(二)_Python学习手册之控制结构(二)
- MySQL子查询嵌套查询
- JVM内存管理机制和垃圾回收机制
- jpa中::::_项目学生:JPA标准查询
- Batis-iBatis基本操作(增删改查)
- 步骤mysql_mysql 安装 等步骤(一)
- iOS 播放Gif动画
- Jzoj3882 近邻
- 三极管实现与门、或门和非门操作
- ARM汇编:数据处理指令集:MOV、ADD、ADDS、ADC、SUB、SUBS、SBC、RSB、MUL、AND、ORR、EOR、BIC、CMP、TST、TEQ、LSL、LSR、ASR、RORV
- axure 设置背景虚化_Axure如何做背景虚化?
- 疫情下的远程办公,充满了崩溃与机遇
- mysql 大写 小写_MySQL大写和小写问题
- Flink_企业级风控平台架构建设_01
- html 表情符号选择,实用输入域表情符号选择器jQuery插件
- 周易六十四卦——需卦
- 改编的一个滑动门代码
- 如何用C语言来实现【三子棋游戏】