如何解决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 举报,一经查实,本站将立刻删除。