Java Drools错误-org.Drools.RuleBase

Java Drools错误-org.Drools.RuleBase,java,drools,Java,Drools,嗨,我正在将我的项目从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

嗨,我正在将我的项目从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 vs phreak)

一天下来,Drools 6并不是Drools 5的替代品。你不能只是重新版本罐子然后期望它们工作——Drools 5中的一些罐子甚至不存在于Drools 6中!在大多数情况下,您可以在主版本(例如,您可以将5.x替换为5.y或6.x替换为6.y)中进行插入式替换,直到7.44(ish)。但是主要版本的更改有突破性的更改,7大于44的次要版本也有突破性的更改

作为一个具体的例子,drools 6中不再存在类
org.drools.RuleBase
。如果您下载drools核心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 基伯斯 基亚皮
这与
javascript
无关。可能是
java
?什么错误?请包括堆栈跟踪和导致堆栈跟踪的代码片段。Drools 5->6毕竟不是一个微不足道的升级。另外,您具体使用哪些drools罐?(drools core?)无法解析导入org.drools.RuleBase。依赖项已经添加到pom.xml文件Drools的核心版本是“6.5.0.Final”,以前是“5.2.1.Final”。谢谢更新,先生。我还可以在Java8中使用旧的“5.2.1.Final”吗?如果您只想运行现有的规则,是的,您可以像使用mvel语法一样运行drools 5.x。我使用Java 8和Drools 5.0.1维护了一个服务,没有问题,尽管我必须在规则本身中使用不晚于Java 5或6的语法,并且必须指定mvel方言(不是Java)。谢谢更新,先生。获取错误“由以下原因引起:org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException:null”。我已经更新了ECJJAR4.6.1。把我的Apache Tomcat更新到了8.你可能想考虑每次只更新一件东西。此时移动部件太多。Java11将使用哪个drools版本?