java lang IncompatibleClassChangeError Implementing class

java lang IncompatibleClassChangeError Implementing class

Caused by: java.lang.IncompatibleClassChangeError: Implementing class

Caused by: 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 java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at com.javahonk.HibernateUtil.buildSessionFactory(HibernateUtil.java:12)
    ... 2 more

Solution: If you are using maven project and added dependency in your pom.xml which is not compatible with java version then you will see above exception. Please check your newly added dependency in your pom.xml and downgrade to old version to match your java version. For example in my case I was using below dependency and getting exception:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-annotations</artifactId>
    <version>3.5.6-Final</version>
</dependency>

To fix it I downgraded to older version as below:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-annotations</artifactId>
    <version>3.3.0.ga</version>
</dependency>

You could also check latest version on maven site here

Leave a Reply

Your email address will not be published. Required fields are marked *