运行时异常(org.drools.utils.util.compositeclassloader.clone()lorg



我正在使用Java运行Drools Project。线KnowledgeBase kbase = readKnowledgeBase();给出以下例外:

java.lang.NoSuchMethodError: org.drools.util.CompositeClassLoader.clone()Lorg/drools/util/CompositeClassLoader;
    at org.drools.compiler.PackageBuilderConfiguration.getClassLoader(PackageBuilderConfiguration.java:322)
    at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.setCompiler(JavaDialectConfiguration.java:91)
    at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.init(JavaDialectConfiguration.java:54)
    at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:273)
    at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:262)
    at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:175)
    at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:153)
    at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:254)
    at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:182)
    at org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl.newKnowledgeBuilder(KnowledgeBuilderFactoryServiceImpl.java:34)
    at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder(KnowledgeBuilderFactory.java:47)
    at com.sample.TestExample.readKnowledgeBase(TestExample.java:36)
    at com.sample.TestExample.ProductClassHolder(TestExample.java:56)
    at com.sample.TestExample.main(TestExample.java:30)

我遇到了同样的问题,并努力努力一段时间。在我的情况下,问题是由于库的冲突 drools-api.jar v5.1.1 and wincection-api-5.4.0.final.jar.jar.jar 在运行时。这两个库都有org.drools.util.CompositeClassLoader类,但是 drools-api.jar 中的一个都没有clone()方法,并且在运行时加载了这一点。我删除了 drools-api.jar ,现在它运行良好并且规则也被执行。

相关内容

  • 没有找到相关文章

最新更新