[Решено] java.lang.IncompatibleClassChangeError: Реализация класса

Причина

При работе с библиотеками Java, которые внутренне зависят от cglib, вполне нормально столкнуться со следующей ошибкой:

Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing classat java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(Unknown Source)at java.security.SecureClassLoader.defineClass(Unknown Source)at java.net.URLClassLoader.defineClass(Unknown Source)at java.net.URLClassLoader.access$000(Unknown Source)at java.net.URLClassLoader$1.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)at java.lang.ClassLoader.loadClassInternal(Unknown Source)at net.sf.cglib.core.DebuggingClassWriter.toByteArray(DebuggingClassWriter.java:73)at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:26)at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:144)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:116)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)at net.sf.cglib.proxy.Enhancer.(Enhancer.java:69)

Эта ошибка возникает из-за несовместимости версии cglib с дополнительными jar-файлами в вашем проекте, такими как asm.

Случайные исключения
Случайные исключения

Решение

Решение очень простое. Просто поместите подходящую версию cglib в ваш classpath.

Правильная зависимость будет выглядеть так:

<dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.3.0</version></dependency><dependency><groupId>org.ow2.asm</groupId><artifactId>asm-util</artifactId><version>9.4</version></dependency>
Прокрутить вверх