使用idea解决maven依赖冲突的问题

前言:我们进行用maven 开发组件的时候,经常会遇到一种情况,我们添加一些maven依赖后,经常会出现本地原本正常的代码编译不过去
下面我们就将这种问题的解决思路和解决方案逐步讲解

记录报错的那几个类

将刚才添加的maven依赖都还原找到刚才报错的类的jar包的版本号 例如我们的文件fastjson-1.2.58

还原刚才加入的maven依赖在刚才编译报错的maven 模块上构建maven依赖体系

结果如下图所示

6.在构建结果中按ctrl+F

7.输入报错的jar包的名字

8.选中一个点进去

这个时候就可以看到有jar包冲突了我们可以看一下是哪些依赖中有冲突了

这样就可以清晰的看清楚maven的依赖关系

9.选中一个jar点进

就可以看到这个jar的引入的详细信息

这样我们就能确定是哪个依赖引入了错误的依赖了。
10.在对应不需要的依赖剔除依赖了刷新依赖关系就可以解决依赖混乱的问题

<dependency>
      <groupId>xxx.xxx.xx</groupId>
      <artifactId>xxx.xxx.xx</artifactId>
      <version>${xx}</version>
      <exclusions>
        <exclusion>
          <groupId>com.alibaba</groupId>
          <artifactId>fastjson</artifactId>
        </exclusion>

      </exclusions>
    </dependency>

刷新maven依赖关系就可以正常编译成功了

到此这篇关于使用idea解决maven依赖冲突的文章就介绍到这了,更多相关idea解决maven依赖冲突内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解maven依赖冲突以及解决方法

    什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的.每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突 如何解决依赖冲突 首先查看产生依赖冲突的类jar,其次找出我们不想要的依赖类jar,手工将其排除在外就可以了.具体执行步骤如下 1.查看依赖冲突 a.通过dependency:tree是命令来检查版本冲突 mvn -Dverbose dep

  • 解决 IDEA 2020.2 reading pom.xml 卡死问题

    一.解决方案搜寻 刚出 IDEA 2020.2 版本的时候,当时第一时间更新了.打开公司的项目,没啥问题,但是当打开自己的项目的时候,就会看到右下角显示 reading pom.xml 然后就卡死了.很多次都这样,后来就回滚了 2020.1,直到今天才来再次尝试发现原因和解决方案. 1.1 导致原因的设定 如果有幸点进了 setting 中的 Maven 选项卡,那么可以看到 "Maven home dictionary" 也就是自定义的本地 Maven 路径被改成了 C:\Users

  • 通过IDEA快速定位和排除依赖冲突问题

    前言 我们程序员在开发的时候经常会遇到各种各样的 BUG 问题,其中大部分是业务逻辑异常,还有一些是代码书写不规范造成的异常例如:NullPointException(NPE),IndexOutOfBoundsException 等等,其实这些我们都好定位和修复.但是还有一些运行时异常定位起来是特别头疼的,那就是 jar 包冲突引起的异常. 一般程序在运行时发生类似于 java.lang.ClassNotFoundException , Method not found: '......' ,或

  • 使用idea解决maven依赖冲突的问题

    前言:我们进行用maven 开发组件的时候,经常会遇到一种情况,我们添加一些maven依赖后,经常会出现本地原本正常的代码编译不过去 下面我们就将这种问题的解决思路和解决方案逐步讲解 记录报错的那几个类 将刚才添加的maven依赖都还原找到刚才报错的类的jar包的版本号 例如我们的文件fastjson-1.2.58 还原刚才加入的maven依赖在刚才编译报错的maven 模块上构建maven依赖体系 结果如下图所示 6.在构建结果中按ctrl+F 7.输入报错的jar包的名字 8.选中一个点进去

  • 关于Maven依赖冲突解决之exclusions

    目录 Maven依赖冲突解决之exclusions 1. 背景 2. 解决方式 场景 解决方式 Maven解决依赖冲突总结 实例分析 解决办法 命令分析 小试牛刀 Maven依赖冲突解决之exclusions 1. 背景 作为java生态下开发者,往往需要使用大量线程的第三方库,一般都是以jar包形式存在. maven作为事实上主流的jar包依赖管理工具,Idea和Eclipse都支持创建maven工程来管理jar包依赖. 使用maven进行jar包依赖管理时,maven会自行管理jar包及其依

  • IDEA解决maven包冲突easypoi NoClassDefFoundError的问题

    在平常工作中我们经常会遇到maven引用的jar包冲突的事情,这时候我们就需要找出冲突的包,并将低版本或者缺少某些方法的jar给剔除掉.这个时候使用idea自带的maven依赖树就很好解决这样的问题. 包冲突显现出来的问题有:某些类找不到. 原因:工程中引入了一个需要的依赖,但工程中其他依赖的包内部也可能会有相同的依赖,如果版本不同maven可能取了一个低的版本,然后可能造成某个类找不到. 比如: 在工程中引入了easypoi jar,要使用Excel导出功能. <dependency> &l

  • 好用!解决maven包冲突的插件

    前言 在日常开发的过程中,经常会遇到找不到类文件的异常,但是这个类的的确确存在项目中,这称之为包的依赖冲突问题. 冲突问题 示例项目引入了两个fastjson.jar版本,分别为 fastjson:1.2.28 fastjson:1.2.3 例如,当我们项目中要用到1.2.28总的类,例如A类,但是在新的版本中,这个类被去除,但是调配的时候发现这个包存在,到底是那个包呢. 这里安利一款插件,使用该插件,可以直接一键完美解决掉idea中的maven冲突问题. 安利插件 这里安利的插件名称为 mav

  • 如何两步解决maven依赖导入失败的问题

    目录 解决maven依赖导入失败 方案一 方案二 maven导入JSTL依赖出现异常 解决maven依赖导入失败 由于网络问题,maven依赖经常会导入失败,私服上的以来导入失败概率低一些,maven中央仓库上的依赖导入失败的概率则相对较高,其实这个问题很容易解决,但是之前还是见到很多初学者对此不知道该如何解决,甚至有人在依赖导入失败,进而导致项目无法正常运行时还不知道是项目依赖导入失败,种种原因,我决定写这篇文章,像大伙介绍一下我在解决这个问题是常用的两招,基本上这两招打完,99%的问题都解决

  • 使用Maven Helper解决Maven插件冲突的方法

    1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突.举个例子,现在你的项目中,使用了两个Jar包,分别是A和B.现在A需要依赖另一个Jar包C,B也需要依赖C.但是A依赖的C的版本是1.0,B依赖的C的版本是2.0.这时候,Maven会将这1.0的C和2.0的C都下载到你的项目中,这样你的项目中就存在了不同版本的C,这时Maven会依据依赖路径最短优先原则,来决定使用哪个版本的Jar包,而另一个无用的Jar包则未被使用,这就

  • idea中解决maven包冲突的问题(maven helper)

    日常开发中经常会遇到xxx.class 找不到的异常,但是这个类确实存在我们的项目中,就会感觉很离奇,其实这就是包冲突的问题 冲突问题 比如项目中引用了两个 fastjson.jar的版本,分别为 fastjson:1.2.28 fastjson:1.2.3 我们用到了1.2.28中的某个类, 比如 A类,在版本更新中 1.2.3版本去掉了这个类,然而我们项目中maven 却把1.2.3的 jar 打包进去了,那我们就会报异常,不存在这个 class,但是我们调错误的时候却发现这个类存在,那我们

  • 关于maven依赖 ${xxx.version}报错问题

    目录 maven依赖 ${xxx.version}报错 在pom文件加入以下配置即可解决 maven依赖的版本号报错解决(玄学) 玄学解决 maven依赖 ${xxx.version}报错 pom.xml 引入依赖时,版本取<version>${xxx.version}</version>有时会报红, 在pom文件加入以下配置即可解决 <properties> <xxx.version>版本号</xxx.version> </propert

  • 浅谈Maven包冲突的原理及解决方法

    1.概述 Apache Maven ,是一个软件(特别是Java软件)项目管理及自动构建工具.在没有Maven的上古年代,项目中引入jar包需要手动下载一个个的去下载,但是随着代码数量的增加,引入的jar包数量自然会增加,随之而来的就是jar包冲突的问题了. 2.产生jar包冲突的原因 众所周知,一个项目中不能存在两个全限定类名一致的Class类,并且jar包的本质就是打包好的Class类文件,例如: 将 junit-jupiter-api-5.6.2.jar 文件解压后, 可以得到多个Clas

随机推荐