[rules-users] classLoader issue...

Julien Nicoulaud julien.nicoulaud at bull.net
Wed Jul 1 09:18:40 EDT 2009


Thanks for your answer !

My configuration seems correct to me, I have all new jars in the
classpath (the ones indicated in the file README-DEPENDENCIES.txt at the
SVN trunk). I checked them all looking after another
BaseObjectClassFieldReader class, but only drools-core contains it.

By the way, rules are well compiled and executed, this issue only
happens when I put constraints on fields. So I think if drools-core was
not in the classpath, nothing would work at all...

Le mercredi 01 juillet 2009 à 08:46 -0400, Edson Tirelli a écrit :
> 
>    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 at 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 at lists.jboss.org
>         https://lists.jboss.org/mailman/listinfo/rules-users
> 
> 
> 
> -- 
>  Edson Tirelli
>  JBoss Drools Core Development
>  JBoss by Red Hat @ www.jboss.com
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users




More information about the rules-users mailing list