Drools 错误 - org.drools.RuleBase

如何解决Drools 错误 - org.drools.RuleBase

嗨,我正在将我的项目从 java1.6 迁移到 Java1.8。我已将我的 Drools jar 从 5.2.1.Final 更新为 6.5.0.Final 。现在我在课堂上遇到错误 -

              org.drools.RuleBase
              org.drools.RuleBaseFactory

java 代码错误 - 导入 org.drools.RuleBase 无法解析--代码错误 导入 org.drools.RuleBaseFactory 无法解析----代码错误

我必须做哪些更改才能在 Java1.8 中运行

解决方法

Drools 6 是 Drools 5 的重大变化。进行了大规模的重组,一些文件不复存在。部分原因是 Drools 使用的算法发生了变化(rete 与 phreak)。

归根结底,Drools 6 不是 Drools 5 的直接替代品。你不能只是重新版本 jar 并期望它们工作——其中一些Drools 5 中的罐子甚至在 Drools 6 中都不存在!在大多数情况下,您可以在主要版本中进行直接替换(例如,您可以将 5.x 换成 5.y. 或将 6.x 换成 6.y)直到 7.44(ish)。但是主要版本变化有破坏性变化,7 的次要版本大于 44。

举个具体的例子,类 org.drools.RuleBase 在 Drools 6 中不再存在。如果你下载了 drools-core jar,打开它并探索,你会发现里面没有类org.drools

自从我使用 Drools 5 已经很长时间了,但是如果 RuleBase 是我认为的类,那么 Drools 6 特定的替代品是 KnowledgeBase。该类在 knowledge-api jar 中可用,它取代了 drools-api jar 并充当已弃用的 API 和新的 kie api 之间的桥梁。在 Drools 7 中,这变成了 KieBase

版本 班级
流口水 5 规则库 drools-api
流口水 6 知识库 知识API
流口水 7 KieBase kie-api

您需要进入并重构您的代码,以不依赖已弃用/删除的类,并为 Drools 6 中引入的新工作流更新您的配置、代码和规则。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?