Reputation: 49
I am trying to build a RESTfull service for excel type file download service. But when I try to deploy it to tomcat 9. I am getting the error of IncompatibleClassChangeError
The stacktrace is as followed : -
SEVERE: StandardWrapper.Throwable
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2267)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:803)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1244)
And my pom.xml is
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
I was able to deploy sucessfully until I added apache.poi dependency.
What might be wrong, as I read some where to increase tomcat size to 1Gb, but it did not help.Please help someone, Thanks in advance.
Upvotes: 0
Views: 1144
Reputation: 1035
Do you have two versions of the same library in your tomcat server?
What causes java.lang.IncompatibleClassChangeError?
As there says, Recompile the client code against the new library, and you should be good to go.
Upvotes: 1