It seems to me that the problem is not with the classloader of your classes, but the classpath of the drools jars. Are you sure you updated and have all the required new jars in your classpath? Drools 5 has a few new jars, like drools-api, that need to be available. Also, check if there are any older jar still in the classpath that might be clashing with the new jars.

   []s
   Edson

2009/7/1 Julien Nicoulaud <julien.nicoulaud@bull.net>
Hi, I'm migrating my system from Drools 4.0.7 to Drools 5.1.0.
Now when I try to compile rules that check fact fields, I get the
following exception:

       ERROR: EventDispatcher: Error during dispatch.
       (java.lang.NoClassDefFoundError:
       org/drools/base/extractors/BaseObjectClassFieldReader)
       java.lang.NoClassDefFoundError:
       org/drools/base/extractors/BaseObjectClassFieldReader

       ( http://paste2.org/p/296380 )


It seems the classloaders I pass to the configurations are not taken in
account... I get exactly the same error if I do not specify the
classloaders. Here is the code:
       KnowledgeBuilderConfiguration kBuilderCfg =
       KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(null,classLoader);
       KnowledgeBuilder knowledgeBuilder =
       KnowledgeBuilderFactory.newKnowledgeBuilder(kBuilderCfg);

       KnowledgeBaseConfiguration kbaseConfig =
       KnowledgeBaseFactory.newKnowledgeBaseConfiguration(null,multiBundleClassLoader);
       kbaseConfig.setOption(EventProcessingOption.STREAM);
       knowledgeBase =
       KnowledgeBaseFactory.newKnowledgeBase(kbaseConfig);

On Drools 4, we did exactly the same with PackageBuilder instead of
KnowledgeBuilder and RuleBase for KnowledgeBase. So the classloaders I
pass are the good ones... Is there some trick ?

Thanks for any help !

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
 Edson Tirelli
 JBoss Drools Core Development
 JBoss by Red Hat @ www.jboss.com