KieContainer kieContainer = KieServices.Factory.get().getKieClasspathContainer();
上一行中的方法返回一个容器,但是对象“ kieContainer”具有空值。它没有“ containerId”,kProject中的字段(在kieContainer中为字段)的值为0。资源中有一个META-INF目录,其中包含一个kmodule.xml。 kmodule.xml的内容为:
<kmodule xmlns="http://www.drools.org/xsd/kmodule">
<kbase packages="com.ruleEngine.drools.section03.step1">
<ksession name="StatelessPassportValidationStep1" type="stateless"/>
</kbase>
</kmodule>
调用getClasspathContainer()
方法的正确方法是什么?
答案 0 :(得分:1)
所以这是解决方案。 如果您尝试通过添加JBoss Drools库在IDEA中生成项目,它将把Drools_6_2_0.xml下载到.idea / libraries中(这不是Maven回购源)。再一次,如果您尝试在任何地方获取类路径容器,版本将不匹配(您在pom.xml和drools 6.2.0中声明的版本),并且在“ kieContainer”对象中带来了空值。 只需删除Drools_6_2_0.xml文件,即可解决问题。感谢罗迪的想法。