• 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出问题了.下面是异常信息:

    十二月 17, 2016 10:13:31 上午 org.apache.catalina.loader.WebappClassLoader validateJarFile
    信息: validateJarFile(F:eclipseworkspacepop-auction-center-law_newpop-auction-center-web argetpop-auction-center-webWEB-INFlibservlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
    十二月 17, 2016 10:13:40 上午 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory manager
    十二月 17, 2016 10:13:46 上午 org.apache.tomcat.util.modeler.BaseModelMBean invoke
    严重: Exception invoking method manageApp
    java.lang.IncompatibleClassChangeError: Implementing class
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2775)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1115)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1610)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1488)
    at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:1945)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1908)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1795)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1754)
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1740)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1245)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:874)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4881)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
    at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1379)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

      于是重新安装tomcat测试,果不其然,成功跑起来了,通过这次解决问题的过程让我明白了,陌生的问题并不是阻碍你继续前行的绊脚石,重要的是你是如何分析问题解决问题的,这一点很重要.

  • 相关阅读:
    「开始,DP专题」
    ZOJ3612 Median treap
    [HNOI2004]宠物收养所 treap
    SIRO Challenge 状态压缩 + DP 未解
    SPOJ3273 Order statistic set treap模板
    HNU2[I题]Omar Loves Candies 贪心
    HNU1[B题] DP,数位DP
    HNU1[F题] 栈模拟计算
    Node.js权威指南 (6)
    瘦下来之后你会遇见不一样的自己
  • 原文地址:https://www.cnblogs.com/xiaoming0601/p/6189360.html
Copyright © 2020-2023  润新知