解决java.lang.IncompatibleClassChangeError: Implementing class

开发SSM项目引入shrio框架报了一个奇怪的异常,找了大半天百思不得其解!

java.lang.IncompatibleClassChangeError: Implementing class
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2529)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1321)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:613)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:524)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:510)
    .....................................................

凭着经验怀疑错误问题有以下几种可能:

1.项目中导入的jar包冲突

2.maven项目中同一个依赖有两个不同的版本号

经过我一番苦逼的测试和寻找,终于发现:

      结果:原来是导入的shiro依赖中 shrio-quartz依赖 与quartz依赖版本号不一致。

解决java.lang.IncompatibleClassChangeError: Implementing class_第1张图片

发现两个版本号

解决java.lang.IncompatibleClassChangeError: Implementing class_第2张图片

虽然,它们的坐标不一样,但都是定时任务jar包的依赖,我果断删除了其中的一个,最后重新运行一下项目,问题终于搞定!

总结一下:像这种类似的错误,报出的异常,还不知道是哪个类的问题,一般的都项目jar包依赖或运行环境或开发环境等。

 

你可能感兴趣的:(解决java.lang.IncompatibleClassChangeError: Implementing class)