-
<
dependency
>
-
<
groupId
>
com.nk
</
groupId
>
-
<
artifactId
>
system
</
artifactId
>
-
<
version
>
0.0.1
</
version
>
-
<
exclusions
>
-
<
exclusion
>
-
<
groupId
>
org.slf4j
</
groupId
>
-
<
artifactId
>
slf4j-log4j12
</
artifactId
>
-
</
exclusion
>
-
</
exclusions
>
-
</
dependency
>
如下图所示,使用exclusions 节点
排除
jar
包中
的
依赖
引用
,解决类似Class path contains multiple SLF4J bindings 报错
<dependency>
<groupId>com.nk</groupId>
<artifactId>system</artifactId>
多个微服务模块,共用一个parent的
pom
现象:父
pom
中已经有某个
jar
包
的
依赖
,所以想在子
pom
中删除此
jar
依赖
,发现报错子项目并不能使用父
pom
的
依赖
:
原因:父
pom
中使用标签管理
依赖
。
如果父
pom
使用dependencyManagement标签,在子
pom
中有两种引入
依赖
的方式,可以保证
依赖
间不冲突。前提是父
pom
已经引入了某想用的
依赖
。
1.在子
pom
中引入不声明版本version的
依赖
即可,子项目使用的版本号直接继承父
pom
2.在子
pom
中引入带版本version的
依赖
,最终子项
如何
排除
掉
maven
引入的
jar
包
里的某个类
我们知道可以使用 <exclude> 来
排除
掉引入的
jar
包
所
依赖
的
jar
包
,但是有时候某个类并不是它引入其他
jar
而导致的,是这个
jar
本身的,你如何
排除
呢? 总不能把自身这个
jar
去掉吧,因为这个
jar
的其他类还是有用的。
比如有如下两个GAV
<dependencies>
<dependency>
<groupId>com.wyf.test</groupId>
<?xml version="1.0" encoding="UTF-8"?>
<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 https://
maven
.apache.org/xsd
文章目录1. 前言2.
Maven
坐标3.
依赖
冲突3.1 冲突产生原因3.2 解决冲突的办法
1. 前言
在我们创建使用
Maven
项目的过程中,当需要用到第三方的控件时,都是通过
依赖
管理来达成,也就是
Maven
项目中必有的
pom
.xml
文件
。
POM
(Project Object Model),即 项目对象模型,其中定义了
Maven
项目的形式。因此,
pom
.xml 可以看做是
Maven
项目
中的
导航。
2.
Maven
坐标
一个坐标的组成一般有如下几部分,前三者必须,packaging
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.5.RELEASE</version>