I get this error when the Jboss EAP 6.2.3 loads one of my application classes.
While I do understand the background of what this error means, I'm not sure if I'm interpreting the "Implementing class" part correctly. Debugging the EAP code, I was able to find the class that fails during the native define call. Let's assume the class name is ClassX.
[org.jboss.modules] (muxRequestListener-10) Failed to define class com.company.ClassX
in Module "deployment.earDeployment.myApp.war:main" from Service Module Loader: java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_35]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [rt.jar:1.6.0_35]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [rt.jar:1.6.0_35]
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361) [jboss-modules.jar:1.3.3.Final-redhat-1]
Does it simply mean that the class: ClassX thinks it's implementing an interface say, InterfaceY, but with a recent binary change, InterfaceY has now become a Class being an Interface previously?
Could it even result from loading any other class that the ClassX depends on (I hope not!) in the process of defining ClassX, because this should really help me pinpoint the error, but doesn't seem to?
Or is there a chance that this could be due to one of the various other causes of the error too and it simply manifests itself as "Implementing class" (I hope not again)?