首页 > 其他分享 >Maven依赖冲突解决总结

Maven依赖冲突解决总结

时间:2023-09-02 22:55:07浏览次数:23  
标签:依赖 Jar Maven 冲突 版本 加载

https://blog.51cto.com/u_15535797/6075885

典型异常,主要是依赖中没有该类。导致原因有两方面:第一,的确没有引入该类;第二,由于Jar包冲突,Maven仲裁机制选择了错误的版本,导致加载的Jar包中没有该类。
抛出java.lang.NoSuchMethodError:找不到特定的方法。Jar包冲突,导致选择了错误的依赖版本,该依赖版本中的类对不存在该方法,或该方法已经被升级。


Jar包冲突的本质:Java应用程序因某种因素,加载不到正确的类而导致其行为跟预期不一致。

具体分两种情况:

情况一:项目依赖了同一Jar包的多个版本,并且选错了版本;
情况二:同样的类在不同的Jar包中出现,导致JVM加载了错误的类;
  情况一,同一个依赖引入了多个Jar包版本,不同的Jar包版本有不同的类和方法。由于Maven依赖树的仲裁机制导致Maven加载了错误的Jar包,从而导致Jar包冲突;

  情况二,同一类在不同的Jar包中出现。这种情况是由于JVM的同一个类加载器对于同一个类只会加载一次,现在加载一个类之后,同全限定名的类便不会进行加载,从而出现Jar包冲突的问题。

 

标签:依赖,Jar,Maven,冲突,版本,加载
From: https://www.cnblogs.com/tszr/p/17674357.html

相关文章

  • C#依赖注入
    namespaceWebApplication1{publicclass依赖注入{//很多的服务都是相互依赖的.net的默认DI是构造函数注入默认不支持属性注入//DI的生命周期//构造函数注入:在对象创建的时候就把需要的依赖注入//使用邮件发送MailK......
  • idea 创建maven项目出现 Cannot resolve plugin org.apache.maven.plugins:maven-jar-
    idea创建maven项目出现Cannotresolvepluginorg.apache.maven.plugins:maven-jar-plugin:3.3.0如下图所示:遇到这个问题很多次了,也看了很多别人的解决方案,大致分为两种问题:1、maven路径问题:在idea中找到File-Settings通过搜索框找到maven,查看maven的安装路径和本地仓库......
  • Flink 1.17教程:WebUI提交作业及打jar包maven插件配置
    打jar包maven插件配置<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version>......
  • Flink 1.17教程:wordcount maven工程java代码示例(批、流实现方式)
    批、流实现wordcount代码示例pom.xml<properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><......
  • 日志logback.xml配置文件的模板与导入的依赖
    2023-09-02依赖的jar包<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.20</version></dependency><dependency><groupId>ch.qos.logback</g......
  • Git使用教程2——Git本地仓库分支操作,解决冲突问题
    上节简单介绍了Git本地仓库的基础操作后,我们接下来讲解git本地仓库的分支操作。首先什么是分支?紧接上节的本地仓库git_demo1,我们来看分支:gitbranch。目前只有一个master分支。git-log一下,我们创建新的分支dev。gitbranchdev,然后切换到dev(gitcheckout dev)。或者创建分......
  • postgresql流复制四(查询冲突)
    部署流复制环境后,备库可提供只读操作,通常会将一些执行时间较长的分析任务、统计SQL跑在备库上,从而减轻主库压力,在备库上执行一些长时间SQL时,可能会出现以下错误并被中止:FATAL:terminatingconnectionduetoconflictwithrecoveryDETAIL:Userwasholdingarelation......
  • 看懂Maven的配置文件
    Maven是项目管理工具,作用:项目构建、依赖管理POM,(ProjectObjectModel),项目对象模型apache-maven-3.9.4\boot\plexus-classworlds-2.7.0.jar:Maven的类加载器Maven基础概念仓库放各种jar包仓库的分类本地仓库:计算机本地远程仓库:非本机的仓库,为本地仓库提供......
  • 使用 bc4 解决 git 合并冲突问题
    博客地址:https://www.cnblogs.com/zylyehuo/STEP1:安装beyondcompare安装地址:https://www.scootersoftware.com/downloadSTEP2:查看beyondcompare软件安装路径STEP3:在git中配置(仅对当前项目有效)gitconfig--globalmerge.toolbc4gitconfig--globalmergeto......
  • maven使用技巧
    简介入门通过idea可以大致看出项目结构,和依赖关系.web依赖->jwt依赖->admin如果在admin引入了redis那么web默认间接依赖redis.weblog-springboot是根项目;weblog-web依赖common项目和admin和jwt;父pom文件,可以定义版本号和者自定义模块的版本号<projectxmlns="http:......