首页 > 其他分享 >Maven7 - 依赖排除

Maven7 - 依赖排除

时间:2023-02-04 11:44:06浏览次数:37  
标签:INFO maven 依赖 logging jar commons Maven7 排除 compile

测试依赖的排除

概念

当 A 依赖 B,B 依赖 C 而且 C 可以传递到 A 的时候,A 不想要 C,需要在 A 里面把 C 排除掉。而往往这种情况都是为了避免 jar 包之间的冲突。

./images

所以配置依赖的排除其实就是阻止某些 jar 包的传递。因为这样的 jar 包传递过来会和其他 jar 包冲突。

配置方式

<dependency>
	<groupId>com.atguigu.maven</groupId>
	<artifactId>pro01-maven-java</artifactId>
	<version>1.0-SNAPSHOT</version>
	<scope>compile</scope>
	<!-- 使用excludes标签配置依赖的排除	-->
	<exclusions>
		<!-- 在exclude标签中配置一个具体的排除 -->
		<exclusion>
			<!-- 指定要排除的依赖的坐标(不需要写version) -->
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
		</exclusion>
	</exclusions>
</dependency>

测试

测试的方式:在 pro02-maven-web 工程中配置对 commons-logging 的排除

<dependency>
	<groupId>com.atguigu.maven</groupId>
	<artifactId>pro01-maven-java</artifactId>
	<version>1.0-SNAPSHOT</version>
	<scope>compile</scope>
	<!-- 使用excludes标签配置依赖的排除	-->
	<exclusions>
		<!-- 在exclude标签中配置一个具体的排除 -->
		<exclusion>
			<!-- 指定要排除的依赖的坐标(不需要写version) -->
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
		</exclusion>
	</exclusions>
</dependency>

运行 mvn dependency:tree 命令查看效果:

TIP

[INFO] com.atguigu.maven:pro02-maven-web:war:1.0-SNAPSHOT
[INFO] +- junit:junit:jar:4.12:test
[INFO] | - org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
[INFO] - com.atguigu.maven:pro01-maven-java:jar:1.0-SNAPSHOT:compile
[INFO] - org.springframework:spring-core:jar:4.0.0.RELEASE:compile

发现在 spring-core 下面就没有 commons-logging 了。

标签:INFO,maven,依赖,logging,jar,commons,Maven7,排除,compile
From: https://www.cnblogs.com/Ashen-/p/17091196.html

相关文章

  • Maven6 - 依赖传递
    测试依赖的传递性依赖的传递性概念A依赖B,B依赖C,那么在A没有配置对C的依赖的情况下,A里面能不能直接使用C?传递的原则在A依赖B,B依赖C的前提下,C是否能够......
  • Maven5 - 依赖范围
    测试依赖的范围依赖范围标签的位置:dependencies/dependency/scope标签的可选值:compile/test/provided/system/runtime/importcompile和test对比main目录(空间)t......
  • Spring6 DI 依赖注入--Bean属性赋值
    Spring6基于XML实现Bean管理(属性赋值)IOC和DI有什么区别:DI是IOC中的具体实现,DI表示依赖注入或注入属性,注入属性要在创建对象的基础之上完成依赖注入方法bean属性赋值方......
  • 无需依赖Docker环境制作镜像
    随着高版本的Kubernetes弃用Docker,企业也可以不依赖Docker环境了,但是DevOps通过Kubernetes部署的话,仍然需要制作镜像,那么在没有Docker环境的情况下如何制作呢?推荐一款谷歌......
  • 青龙面板安装依赖
    安装方法如图nodejs依赖crypto-jsprettytabledotenvjsdomdate-fnstough-cookietslibws@7.4.3ts-md5jsdom-gjiebafsform-datajson5global-agentpng-js@types/noderequir......
  • 关于服务发现、Feign、Zuul 以及docker之间的依赖
    Consul和Eureka都是用来解决服务发现(就是类似DNS服务)。Eureka在应用主类中通过加上​​@EnableDiscoveryClient​​,该注解能激活Eureka中的DiscoveryClient。(微服务中......
  • 有依赖的背包问题
    题目连接:https://www.acwing.com/problem/content/10/简单来说就是在子节点和父节点有制约条件下选择物品来取得最大值  其实可以这样想:将子树按照体积划分为0~m份,......
  • 函数计算|如何使用层解决依赖包问题?
    在使用阿里云函数计算平台时,如果您曾经遇到过以下问题,本文应该会对您有所帮助:第三方依赖包太大,每次更新代码都非常耗时,甚至会出现超过代码包限制的情况,我该怎么办?安装第三方......
  • maven资源文件排除某些资源的配置
    <resource>    <!--指定资源文件的目录-->    <directory>${project.basedir}/src/main/resources</directory>    <!--是否开启过滤替换配置,默认是不开启......
  • 第六十三章 使用 SNMP 监控 IRIS - SNMP 故障排除
    第六十三章使用SNMP监控IRIS-SNMP故障排除SNMP故障排除IRIS子代理(运行^SNMP例程)取决于操作系统提供的SNMP主代理的正确安装和配置。正如IRIS作为子代理......