解决maven冲突

如果部署后发现jetty启动失败,而且通过error日志观察到系统出现了NoSuchMethodError 很有可能是系统中出现了依赖冲突。解决依赖冲突可按如下步骤

1、查看jetty启动日志(/opt/meituan/jetty-distribution-9.2.0.v20140526/jetty.log)确定最内层的报错信息

image

发现是LogManager这个类中缺少getLoggerRepository方法,因为类名与文件名相同,所以可以在工程中搜索类名

2、可以看到在如下右侧红框中这些maven引入的jar包里都有这个类,而我们要关注的是左侧红框中的包名为org.apache.log4j(根据步骤1的报错)中的这两个LogManager

image

3、分别打开这两个LogManager文件,查看哪个依赖中没有getLoggerRepository()方法,就说明是该依赖的引入导致冲突

4、打开pom文件的Dependency Analyzer试图,找到问题依赖,然后点击右键Exclude掉就行了


image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Jar包冲突是老生常谈的问题,几乎每一个Java程序猿都不可避免地遇到过,并且也都能想到通常的原因一般是同一个Ja...
    sherlockyb阅读 37,440评论 1 65
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,951评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 为了防止宕机,nginx高可用,就需要配置备份集群.入口就一个,所以不能搭建nginx集群. 现在我们使用Keep...
    Explorer_Mi阅读 978评论 0 0