The following Error related to JBoss Drools frustrated me because of Java Version mismatch.
The version of Drools we are using runs properly only with JDK 1.5 where as we are trying hard to make it run on JDK1.6 and ended up with the following issue.
java.lang.ClassNotFoundException: [Lorg.drools.rule.Declaration;
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1359)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1205)
at org.drools.rule.PackageCompilationData$PackageClassLoader.loadClass(U
nknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.drools.common.ObjectInputStreamWithLoader.resolveClass(Unknown So
urce)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:157
5)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1624)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:19
45)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.HashMap.readObject(HashMap.java:1029)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974
)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1846)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at org.drools.rule.PackageCompilationData.readExternal(Unknown Source)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:179
2)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at org.drools.rule.Package.readExternal(Unknown Source)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:179
2)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.HashMap.readObject(HashMap.java:1029)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974
)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1846)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at org.drools.common.AbstractRuleBase.doReadExternal(Unknown Source)
at org.drools.reteoo.ReteooRuleBase.readExternal(Unknown Source)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:179
2)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at com.infosys.ipsp.ade.impl.RuleBaseRepositoryImpl.deSerializeRuleBase(
RuleBaseRepositoryImpl.java:73)
at com.infosys.ipsp.ade.impl.RuleBaseRepositoryImpl.deSerializeRuleBase(
RuleBaseRepositoryImpl.java:85)
at com.infosys.ipsp.ade.userinteraction.ConsultationServlet.doGet(Consul
tationServlet.java:108)
at com.infosys.ipsp.ade.userinteraction.ConsultationServlet.doPost(Consu
ltationServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:685)
at java.lang.Thread.run(Thread.java:619)
Leave a Reply