java.lang.IncompatibleClassChangeError: Implementing class的解决办法,折腾了一天总算解决了
一,问题产生背景
git更新代码重启服务器后,问题就莫名奇妙的产生了,一看报错信息,基本看不懂,然后上百度去查,基本都是说jar包冲突,于是把矛头指向maven
二,问题的解决过程
既然确定了是maven的问题,,按照一贯的手法,clean-->package,试了n多次包括删repository,删项目重新git下载等等能干的全都干了,结果每次启动服务器时,原来非常陌生的报错信息现在又熟悉的出现在你眼前,那种想砸电脑的心情只有你自己能体会,
后来,我决定扩大问题产生的原因的范围,一步一步缩小范围排除,产生这种错误的原因无非就三种:idea有问题,maven有问题,tomcat有问题.接下来走上了测试的道路
1.测试maven和idea
脱离idea环境用原生态命令行写maven命令:mvn install -Dmaven.test.skip=true -Dmaven.development=true;测试打包会不会报错,结果如下:

显然测试成功,这一步可以肯定的是,单纯的用maven打包和用idea集成maven打包效果是一样的,由此可以判断用idea配置的maven很正常,一切都正常.
接下来就要测试maven打的war包有没有问题,把自己打的war包扔到别人电脑去测试,没问题,成功运行,证明了maven没问题,证明了war包没问题,证明了之前的想法是错的.
2.测试tomcat和idea
跟之前一样,先脱离idea环境测试tomcat,删掉work目录,删除掉webapp下的工程,将之前打的war包放到webapp下,然后找到bin目录下的startup.bat,点击运行,这时你会发现熟悉的错误又出现在你的面前,没关系,很快你就看不到了,显而易见,是你的tomcat出问题了.下面是异常信息:
于是重新安装tomcat测试,果不其然,成功跑起来了,通过这次解决问题的过程让我明白了,陌生的问题并不是阻碍你继续前行的绊脚石,重要的是你是如何分析问题解决问题的,这一点很重要.
java.lang.IncompatibleClassChangeError: Implementing class的解决办法,折腾了一天总算解决了的更多相关文章
- 关于java.lang.IncompatibleClassChangeError: Implementing class错误解决
在javaagent使用asm字节码编程的时候启动异常,java.lang.IncompatibleClassChangeError: Implementing class, 这是包冲突引起的问题,加 ...
- java.lang.IncompatibleClassChangeError: Implementing class
项目中使用了quartz,但是jar包却有两个,一个1.8版本,一个2.1版本,导致jar包冲突,所以导致一启动tomcat就出现: Caused by: java.lang.Incompatible ...
- Caused by: java.lang.IncompatibleClassChangeError: Implementing class
Caused by: java.lang.IncompatibleClassChangeError: Implementing class 可能是导入的jar包重复. 尤其在Maven引用中,请查看是 ...
- 解决java.lang.IncompatibleClassChangeError: Implementing class
jar包冲突(有重复jar) 仔细检查
- Maven的包依赖冲突可引发java.lang.IncompatibleClassChangeError错误
新版API上线后,发现LOG文件没有正常输出.查看Tomcat的Log文件发现如下的错误信息 May , :: AM com.sun.xml.ws.server.sei.EndpointMethodH ...
- [ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
1:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突,下面贴一下错误, ...
- java.lang.IncompatibleClassChangeError:可以考虑是否是jar包冲突
一.背景:启动tomcat的时候,报错: java.lang.IncompatibleClassChangeError: class org.springframework.core.type.cla ...
- 【JUnit 报错】java.lang.IncompatibleClassChangeError
使用Junit 测试spring时候报错: java.lang.IncompatibleClassChangeError: class org.springframework.core.LocalVa ...
- 使用POI导入EXCEL报java.lang.IncompatibleClassChangeError
使用POI导入xls格式的excel报java.lang.IncompatibleClassChangeError异常,而导入xlsx正常. oracle.apps.fnd.framework.OAE ...
随机推荐
- Atitit 通过调用gui接口杀掉360杀毒 360卫士 qq保镖等难以结束的进程(javac# php )
Atitit 通过调用gui接口杀掉360杀毒 360卫士 qq保镖等难以结束的进程(javac# php ) 1.1. 这些流氓软件使用操作系统os提供的普通api根本就杀不掉啊1 1.2. 使用 ...
- GridView和DATAGRID前后台查询用法的比较
Grideview前台: <DIV class="mainDiv" id="GridWidth"> <ASP:GridView id=&quo ...
- fir.im Weekly - iOS开发中的Git流程
本期 fir.im Weekly 收集了微博上的热转资源,包含 Android.iOS 开发工具.源码等好用的轮子,还有一些 APP 设计的 Tips,希望对你有用. 精仿知乎日报 iOS 端 @我偏 ...
- 如何解决loadrunner回放日志中的乱码问题
在Loadrunner回放脚本时,会看到replay log区会展示脚本回放时的信息.有时候选中了打印服务器返回具体信息后,服务器返回的中文字符为乱码.怎么破? 原来Loadrunner的replay ...
- gulp学习笔记4
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 之前的任务都是单个的,比较简单.接下去我们开始引用多个插件,一次性把任务搞定,省 ...
- Package gp in the OpenCASCADE
Package gp in the OpenCASCADE eryar@163.com China 一.简介 Introduction to Package gp gp是几何处理程序包(Geometr ...
- Oracle IF & CASE语句
IF语句主要有以下三种基本形式: 一. IF-THEN语句 IF CONDITION THEN STATEMENT 1; ... STATE ...
- 构建自己的PHP框架--搭建基本结构
首先,我们来说一下,为什么要创建自己的框架? 为什么要创建自己的框架呢?如果你跟周围的人讨论,每个人都会告诉你重复发明轮子是一件糟糕的事情,你最好选择一个已有的框架,忘掉“创建自己的框架”这种想法.大 ...
- 整理的一些PHP面试题目
1.strlen()和mb_strlen()的作用分别是什么? strlen()和mb_strlen()的作用都是来获取字符串的长度,其中strlen()只针对单字节编码字符,也就是计算字符串的总字节 ...
- CSS 魔法系列:纯 CSS 绘制图形(各种形状的钻石)
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...