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)

Published by Chaitanya

I am a family man, perpetual learner, coffee drinker, dessert eater and Happiness Engineer at Automattic. I also read, write, move, and meditate.

Leave a comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: