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

前言

在日常开发的过程中,经常会遇到找不到类文件的异常,但是这个类的的确确存在项目中,这称之为包的依赖冲突问题。

冲突问题

示例项目引入了两个fastjson.jar版本,分别为

fastjson:1.2.28
fastjson:1.2.3

例如,当我们项目中要用到1.2.28总的类,例如A类,但是在新的版本中,这个类被去除,但是调配的时候发现这个包存在,到底是那个包呢。
这里安利一款插件,使用该插件,可以直接一键完美解决掉idea中的maven冲突问题。

安利插件

这里安利的插件名称为 maven helper

解决问题

第一步

安装插件

第二步

在安装完成以后,在pom文件下方会出现这个东西

第三步

点进去会进入类似于eclipse界面的

第四步

选择选项conficts,这个选项的意思是筛选所有冲突的包

第五步

这里的例子冲突的是fastjson如下图所示

第六步

选择右键,exclude,去除其相关的版本。即可自动去除。

以上就是好用!解决maven包冲突的插件的详细内容,更多关于解决maven包冲突的资料请关注我们其它相关文章!

(0)

相关推荐

  • maven下mybatis-plus和pagehelp冲突问题的解决方法

    Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ 解决办法: 修改pom.xml文件 排除 pagehelp 包的mybatis和mybatis-spring依赖 <!-- pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehe

  • 使用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包则未被使用,这就

  • maven解决包冲突方法详解

    Maven根据最近胜利策略(nearest wins strategy)的原则工作,同时解决依赖冲突,这意味着它在依赖树中找到更接近的版本,它将采用该版本并忽略其他版本.实际上Maven有点懒,所以每当它开始寻找依赖时,它就会从根目录开始遍历树,无论它先前找到哪个版本,它都会选择它并从它们返回而不进一步.如果它进一步寻找依赖版本,可能会有机找到一些更新的版本,但它从第一个发现的版本那里返回,并采用旧版本并用它来解决依赖关系. 可以用下面的命令显示依赖树: mvn dependency:tree

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

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

  • Maven中jar包冲突原理与解决办法

    Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题.本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲突的解决办法. 一.Maven中jar包冲突产生原因 MAVEN项目运行中如果报如下错误: Caused by:java.lang.NoSuchMethodError Caused by: java.lang.ClassNotFoundException 十有八九是Maven jar包冲突造成的.那

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

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

  • 使用maven工具解决jar包冲突或重复加载的问题

    在使用maven开发项目的过程中,经常会遇到jar包重复加载或者jar包冲突的问题的,但是由于有些jar是由于maven的依赖加载自动加载进来的, 而不是开发者自己配置的,特别是当项目中pom中配置的jar包依赖本身很多时,开发者靠自己的经验,有时很难找出是哪个jar的加载导致加载了 多余的依赖jar,从而产生冲突. 今天刚好遇到一个借用eclipse中的maven插件解决jar包依赖冲突的问题,分享一下. 项目中出现的问题如下: Caused by: java.lang.NoClassDefF

  • maven 隐式依赖引起的包冲突解决办法

    包冲突 1.使用maven管理项目时可能会遇到包冲突的情况比如:log4j-over-slf4j.jar 和 slf4j-log4j12.jar这两个包同时一起运行时就会有问题. 2.这种冲突可能是显式依赖导致,也可能是隐式依赖导致. 显式依赖,直接可以从pom.xml文件的<dependency>中看到两个冲突包的引用. 隐式依赖,在pom.xml的<dependency>无法看到冲突的包,而是由<dependency>引入的包间接引入的. 解决 先确认哪些依赖间接引

  • Maven jar包冲突的解决方案

    现象 创建一个maven工程,引入spring-context包. <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.8.RELEASE</version> </dependency> 此时看左侧的lib,我们发现引入了一个坐标,多出了很多的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,但是我们调错误的时候却发现这个类存在,那我们

随机推荐