聊聊maven的l中的exclusions标签的作⽤l的exclusions标签作⽤
项⽬中的例⼦springframework作用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
解释exclusion标签
这个标签的作⽤是排除关联依赖的引⼊,因为maven的pom依赖其中有⼀点是将关联的依赖全都引⼊进来,
这个标签在这的作⽤就是如果关联的依赖和引⼊的其他依赖可能存在冲突,
就必须将关联的依赖排除掉,所以就⽤这个标签。
另外这个+s的,⼤家应该也明⽩,就是可以包含多个吗
⽤exclusions来进⾏排除依赖
exclusions
但依赖调节并不解决所有问题,我们还需要exclusions来进⾏排除依赖。
例如这样⼀个情况,⼯程中引⼊了A,A依赖B,但是B的版本过旧。
此时可以使⽤exclusions排除该传递性依赖,并显⽰声明⼀个最新版本的B依赖。
⽐如这样
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>4.2.1</version>
<exclusions>
<exclusion>
<artifactId>bcmail-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
<exclusion>
<artifactId>bcprov-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
<exclusion>
<artifactId>bctsp-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
</exclusions>
</dependency>
在⽐如若是使⽤zookeeper发现有log4j的冲突。
我们也可以使⽤这种⽅式进⾏排除
<dependency>
<groupId>keeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.5.4-beta</version>
<exclusions>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论