Eclipse plugin Drools决策表错误:创建数据库时出错

Eclipse plugin Drools决策表错误:创建数据库时出错,eclipse-plugin,drools,drools-flow,drools-kie-server,Eclipse Plugin,Drools,Drools Flow,Drools Kie Server,我正在尝试实现drools决策表。当我实现自己的示例代码时,我发现以下错误: java.lang.RuntimeException:创建KieBase时出错 在我的Eclipse IDE控制台中可见的错误是: java.lang.RuntimeException:创建KieBase时出错[Message[id=1,KieBase=patient,level=Error,path=PatientDecisionTable.xls,line=10,column=0 text=[ERR 101]第10

我正在尝试实现drools决策表。当我实现自己的示例代码时,我发现以下错误: java.lang.RuntimeException:创建KieBase时出错

在我的Eclipse IDE控制台中可见的错误是:

java.lang.RuntimeException:创建KieBase时出错[Message[id=1,KieBase=patient,level=Error,path=PatientDecisionTable.xls,line=10,column=0 text=[ERR 101]第10:21行在输入“”处没有可行的替代方案,消息[id=2,kieBase=patient,level=ERROR,path=PatientDecisionTable.xls,第10行,第0列 text=[ERR 101]第10:81行在输入“”处没有可行的替代方案,消息[id=3,kieBase=patient,level=ERROR,path=PatientDecisionTable.xls,行=0,列=0 text=解析器返回了一个空包]] 位于org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:557) 位于org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:682) 在org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:650)上 位于com.Lab.Genomics.Run.PatientRun.main(PatientRun.java:15)

我的主要方法包含在下面的类中:

import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import com.Lab.Genomics.model.Patient;

    public class PatientRun {

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            try{
                KieServices ks= KieServices.Factory.get();
                KieContainer kContainer=ks.getKieClasspathContainer();
                KieSession kSession= kContainer.newKieSession("ksession-patient");

                Patient patientObject= new Patient();
                patientObject.setBcConfirmed(1);
                patientObject.setBcEarlyStage(1);
                patientObject.setMetastatisSymptom(1);
                patientObject.setName("Sumit");
                patientObject.setPatientId(01);
                kSession.insert(patientObject);
                kSession.fireAllRules();



            }catch(Exception e){
                e.printStackTrace();
            }
        }

    }
病人是我的主顾。 我的决策表如下:

我的项目目录如下:

我无法找到决策表中存在的错误。当我运行main方法时,我得到了上面提到的错误

我在这里找到了一个关于drools决策表的问题,但这不是我检查的情况


我已经试过了,而且还在努力。非常感谢您的推荐或帮助

避免Excel默认提供的引号。在println调用的字符串周围有它们: 左双引号,U+201C 右双引号,U+201D

如果我在Excel单元格中键入这些击键:“A”“s”“…”:“”“'o'…'e”“e'”'我将看到以下内容:

A string: “one two three”
现在,我将其复制粘贴到文本文件中,并在其上运行转储程序:

0000000 41 20 73 74 72 69 6e 67 3a 20 e2 80 9c 6f 6e 65
0000020 20 74 77 6f 20 74 68 72 65 65 e2 80 9d 0a

请参阅UTF-8编码:0xE2 0x80 0x9C和0xE2 0x80 0x9D以获取引号,这在DRL代码中是不允许的。确保使用引号,代码点U+0022。就是这样:
->“避免默认情况下Excel提供的引号。在println调用中,字符串周围有引号:
左双引号,U+201C
右双引号,U+201D

如果我在Excel单元格中键入这些击键:'A''s'…':'o''e“e”我会看到这个:

A string: “one two three”
现在,我将其复制粘贴到文本文件中,并在其上运行转储程序:

0000000 41 20 73 74 72 69 6e 67 3a 20 e2 80 9c 6f 6e 65
0000020 20 74 77 6f 20 74 68 72 65 65 e2 80 9d 0a

请参阅UTF-8编码:0xE2 0x80 0x9C和0xE2 0x80 0x9D以获取引号,这在DRL代码中是不允许的。请确保使用引号,代码点U+0022。就是这样:
->“无法理解”默认情况下避免Excel提供的引号是什么意思。(在println调用中,它们围绕着字符串。)确保使用引号,代码点U+0022”。我在println中使用了引号,在我检查时,这些引号不是默认值。你能再详细解释一下吗?我把引号和字符串都去掉了。现在只需在sysout内部使用一个getter方法。获取错误:java.lang.RuntimeException:创建KieBase时出错[消息[id=1,KieBase=patient,level=error,path=PatientDecisionTable.xls,line=5,column=0 text=规则编译错误Go无法解析为令牌“for”上的变量语法错误,无效的AssignmentOperator测试无法解析为变量]]字符串
中没有任何引号,请转到test
。在Excel中重新加引号:您需要了解有关字符集的信息。小心:这些office程序可能会悄悄地出现在你身上,改变你键入的内容。好的。默认情况下,open office使用左双引号,U+201C作为左引号,需要避免使用。现在我完全删除了引号,我得到了一个错误:无法理解“默认情况下避免Excel提供的引号(println调用中的字符串周围有引号)是什么意思。请确保使用引号,代码点U+0022”。我在println中使用了引号,在我检查时,这些引号不是默认值。你能再详细解释一下吗?我把引号和字符串都去掉了。现在只需在sysout内部使用一个getter方法。获取错误:java.lang.RuntimeException:创建KieBase时出错[消息[id=1,KieBase=patient,level=error,path=PatientDecisionTable.xls,line=5,column=0 text=规则编译错误Go无法解析为令牌“for”上的变量语法错误,无效的AssignmentOperator测试无法解析为变量]]字符串
中没有任何引号,请转到test
。在Excel中重新加引号:您需要了解有关字符集的信息。小心:这些office程序可能会悄悄地出现在你身上,改变你键入的内容。好的。默认情况下,open office使用左双引号,U+201C作为左引号,需要避免使用。现在我完全删除了报价,我得到了一个错误:更新了决策表。更新了决策表。