[rules-users] NoClassDefFoundError for BaseObjectClassFieldExtractor when running in Tomcat

Jesse Stockall jstockall at embotics.com
Thu Jul 19 08:25:08 EDT 2007


Indeed it does appear to be a bug as 3.0.6 works fine. I'll open a
ticket later today.

Jesse

On Thu, 2007-19-07 at 07:18 -0300, Fernando Meyer wrote:

> It seems to be a bug, please could you open a Ticket in jira and
> provide additional information for that? 
> 
> 
> 
> Thanks 
> 
> 
> Fernando Meyer http://fmeyer.org
> fmcamargo at gmail.com
> PGP: 0xD804DDFB
> 
> 
> 
> 
> 
> 
> 
> 
> On Jul 18, 2007, at 9:16 AM, Jesse Stockall wrote:
> 
> 
> 
> > The NoClassDefFoundError exception is thrown from within drools
> > code, so it's obviously in the classpath. The problem appears to be
> > with the mechanism used by drools to load it's own code.
> > 
> > Jesse
> > 
> > On Wed, 2007-18-07 at 02:14 -0300, Fernando Meyer wrote:
> > 
> > > You should add the drools-core library as a required dependency. 
> > > 
> > > Fernando Meyer http://fmeyer.org 
> > > fmcamargo at gmail.com 
> > > PGP: 0xD804DDFB 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > On Jul 17, 2007, at 9:55 AM, Jesse Stockall wrote: 
> > > 
> > > 
> > > > Tomcat 5.5
> > > > Java 1.5
> > > > jbossrules-4.0.0.12865MR3
> > > > 
> > > > I have an instance of Drools running inside a webapp deployed on
> > > > Tomcat. The rules have been compiled ahead of time and are
> > > > loaded in with:
> > > > 
> > > > InputStream is = PolicyRuntime.class.getResourceAsStream(name);
> > > > DroolsObjectInputStream in = new DroolsObjectInputStream(is);
> > > > Package p = (Package) in.readObject();
> > > > 
> > > > When run outside Tomcat it loads fine, when run inside Tomcat I
> > > > get:
> > > > 
> > > > java.lang.NoClassDefFoundError:
> > > > org/drools/base/extractors/BaseObjectClassFieldExtractor
> > > > at java.lang.ClassLoader.defineClass1(Native Method)
> > > > at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> > > > at org.drools.base.ClassFieldExtractorFactory
> > > > $ByteArrayClassLoader.defineClass(ClassFieldExtractorFactory.java:455)
> > > > at
> > > > org.drools.base.ClassFieldExtractorFactory.getClassFieldExtractor(ClassFieldExtractorFactory.java:114)
> > > > at
> > > > org.drools.base.ClassFieldExtractor.init(ClassFieldExtractor.java:77)
> > > > at
> > > > org.drools.base.ClassFieldExtractor.<init>(ClassFieldExtractor.java:57)
> > > > at
> > > > org.drools.base.ClassFieldExtractorCache.getExtractor(ClassFieldExtractorCache.java:35)
> > > > at
> > > > org.drools.base.ClassFieldExtractor.readResolve(ClassFieldExtractor.java:72)
> > > > 
> > > > I've tried adding
> > > > DroolsObjectInputStream.class.getClassLoader() ,
> > > > PolicyRuntime.class.getClassLoader() and
> > > > Thread.currentThread().getContextClassLoader() to the
> > > > constructor of the DroolsObjectInputStream but none had any
> > > > effect.
> > > > 
> > > > Thanks
> > > > 
> > > > Jesse
> > > > 
> > > > _______________________________________________ 
> > > > rules-users mailing list 
> > > > rules-users at lists.jboss.org 
> > > > https://lists.jboss.org/mailman/listinfo/rules-users 
> > > 
> > > 
> > > 
> > > 
> > > _______________________________________________
> > > rules-users mailing list
> > > rules-users at lists.jboss.org
> > > https://lists.jboss.org/mailman/listinfo/rules-users
> > > 
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> 
> 
> 
> 
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070719/98e0f6c1/attachment.html 


More information about the rules-users mailing list