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

升级至kie-api-7.45.0.Final后KnowledgeBase类缺失,求替代类

Drools 7.45.0.Final 弃用类替代方案

因为你没贴出具体报错的类名,这里列出Drools升级到7.x版本后最常见的弃用类及替代方案:

  • org.drools.core.impl.KnowledgeBaseFactory → 用org.kie.api.KieServices替代,通过KieServices.Factory.get()获取实例,再创建KieBase、KieSession等核心对象:
    // 旧写法
    KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
    // 新写法
    KieServices kieServices = KieServices.Factory.get();
    KieContainer kContainer = kieServices.getKieClasspathContainer();
    KieBase kbase = kContainer.getKieBase();
    
  • StatefulKnowledgeSession / StatelessKnowledgeSession → 分别替换为org.kie.api.runtime.KieSession(有状态会话)和org.kie.api.runtime.StatelessKieSession(无状态会话):
    // 旧有状态会话创建方式
    StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
    // 新有状态会话创建方式
    KieSession session = kbase.newKieSession();
    
  • KnowledgeBuilder → 替换为org.kie.api.builder.KieBuilder,配合KieFileSystem使用:
    // 旧写法
    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
    // 新写法
    KieServices kieServices = KieServices.Factory.get();
    KieFileSystem kfs = kieServices.newKieFileSystem();
    kfs.write(ResourceFactory.newClassPathResource("your-rules-file.drl"));
    KieBuilder kbuilder = kieServices.newKieBuilder(kfs).buildAll();
    

如果你的报错涉及其他类,把具体类名贴出来,我再给你对应替代方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:52:26