首页 > 编程知识 正文

maven 不同版本依赖,maven依赖多个版本 那个生效

时间:2023-05-04 11:32:56 阅读:231980 作者:1014

maven依赖与依赖不同版本处理 前言总结具体步骤1. 如何判断呢2. 在pom.xml配置3. 实现原理 相关错误参考资料

前言

maven不仅仅管理依赖的工具, 本问题是以管理依赖方面予以叙述. 本文是以eclipse作为ide配置的.

总结 判断是否冲突添加依赖关系,排除不需要的依赖
注意:
依赖问题很复杂, 如果排除不干净就会运行不起来, 或者一下跑起来,一下跑不起来的神坑, 望不要再紧要关头掉进去. 具体步骤 1. 如何判断呢

打开pom.xml,如下图

a.表示打开的pom.xml文件
b.依赖选项卡
c.我们添加的依赖

打开Dependency Hierarchy选项卡

a.表示打开的pom.xml文件
b.依赖关系层次结构选项卡
c.在这里就可以看见, 所引入的依赖,的依赖关系, 其中有版本号.
d.右边的窗口是所有的依赖, 从这里可以很方便的查看是否有版本号不一致.

2. 在pom.xml配置

在pom.xml配置中对依赖以exclusions进行排除:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId><exclusions><!--Spring-boot中去掉logback的依赖 --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency>

完整如下

<?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/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>spring-boot-mybitis-demo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>spring-boot-mybitis-demo</name><description>Demo project for Spring Boot</description><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><!-- 测试 --><testng.version>6.14.2</testng.version><reportng.version>1.1.4</reportng.version><testng.xmlFileName>src/test/resources/test/testng-suite.xml</testng.xmlFileName><testng.xmlFileUtilSuite>src/test/resources/test/util-suite.xml</testng.xmlFileUtilSuite><!-- 日志: log4j --><slf4j-api-version>1.7.28</slf4j-api-version><log4j.version>2.12.1</log4j.version><!-- 数据源 --><druid>1.1.20</druid></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId><exclusions><!--Spring-boot中去掉logback的依赖 --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><!--Spring-boot中去掉logback的依赖 --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency> </dependencies></project> 3. 实现原理

只是maven排除, 没什么原理, 自己看maven源代码或只取理解下思想.

相关错误 依赖问题很复杂, 如果排除不干净就会运行不起来, 或者一下跑起来,一下跑不起来的神坑. 参考资料 依赖和版本冲突排查(待补充)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。