drools - getKieClasspathContainer() 方法返回空值
问题描述
KieContainer kieContainer = KieServices.Factory.get().getKieClasspathContainer();
上一行中的方法返回一个容器,但对象“kieContainer”具有空值。它没有“containerId”,kProject 中的字段(kieContainer 中的字段)的值为 0。在resources中有一个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()
方法的正确方法是什么?
解决方案
所以这是解决方案。如果您尝试通过添加 JBoss Drools 库在 IDEA 中生成项目,它会将 Drools_6_2_0.xml 下载到 .idea/libraries(它不是 maven repo 源)。再次,如果您尝试在任何地方获取类路径容器,版本会变得不匹配(您在 pom.xml 和 drools 6.2.0 中声明的版本)并且它会在“kieContainer”对象中带来空值。只需删除 Drools_6_2_0.xml 文件即可解决问题。感谢罗迪的想法。
推荐阅读
- ruby-on-rails - 收到错误请求 - 400 错误(不支持授权机制) - 使用签名同步到 AWS S3 的 Rails 资产 - v4(aws 区域为孟买)
- python - Django 2 到 3 升级抛出错误:“on_delete 必须是可调用的”
- gnuplot - 相同的增量,相同的轴长度,但 Gnuplot 中的 x 和 y 范围不同
- node.js - 如何生成一次性 url 以在 nodejs 中获得反馈
- python - 给定有限的预算约束和每个值的成本,我将如何计算 numpy 数组中剩余的可选值的数量
- matrix - 子矩阵HW之和
- flutter - 2021年最稳定的flutter版本是什么,哪个是我最好的渠道
- javascript - 当浏览器放大或缩小时,如何保持绝对定位的元素响应?
- java - SSL 错误:无法验证第一个证书(Nginx -> Spring Boot)
- hadoop - 从 hive 分区表中的选择查询插入时查询失败