You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drools规则引擎KieSession空指针异常问题排查求助

KieSession为空引发NullPointerException,排查常见问题后仍未解决

我正在学习Drools规则引擎,实践时遇到如下空指针异常:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.kie.api.runtime.KieSession.insert(Object)" because "ksession" is null
    at com.sample.DroolsShop.execute(DroolsShop.java:22)
    at com.sample.DroolsShop.main(DroolsShop.java:13)

我使用的开发环境是Eclipse,搭配droolsjbpm-tools-distribution-7.41.0.Final插件。目前已经排查过以下常见诱因,但未发现问题:

  • 不存在缺失pom.properties文件的情况
  • 确认kmodule.xml文件存在且配置无误
  • 核对过kbase命名,没有拼写错误

相关代码

DroolsShop.java 关键片段

public class DroolsShop {
    public static void main(String[] args) {
        DroolsShop ds = new DroolsShop();
        ds.execute();
    }

    public void execute() {
        // 此处为获取KieSession的代码
        // ...
        ksession.insert(new SomeObject()); // 第22行,抛出NPE
        ksession.fireAllRules();
        ksession.dispose();
    }
}

kmodule.xml 内容

<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
    <!-- 此处为你的kbase和ksession配置 -->
    <kbase name="rules" packages="com.sample">
        <ksession name="ksession-rules"/>
    </kbase>
</kmodule>

项目结构

src/
├── main/
│   ├── java/
│   │   └── com/
│   │       └── sample/
│   │           └── DroolsShop.java
│   └── resources/
│       ├── META-INF/
│       │   └── kmodule.xml
│       └── com/
│           └── sample/
│               └── rules.drl

恳请帮忙诊断KieSession为空的原因。

内容的提问来源于stack exchange,提问作者Samuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:01:08