每当我使用条件值时,就会出现Drools错误“ java.lang.RuntimeException”

时间:2019-04-15 09:20:18

标签: drools

您好,我的Drools程序出现以下错误:

java.lang.RuntimeException:无法获取KieModule,存在错误

我的.drl文件如下:

package com.baeldung.drools.rules

import com.model.Variable;
import com.model.Recommendation;

global com.model.Recommendation recommendation;
dialect "mvel" 

rule "Rule 0"
when
variable1:Variable(Name=="Number of cigs per day", NumericValue>0)             
then
recommendation.setRecommendation("Encourage smoking cessation.");
end
rule "Rule 1"
when
variable1:Variable(Name=="Smoker", Value=="Yes")             
then
recommendation.setRecommendation("Encourage smoking cessation.");
end

在我的Variable对象中,我添加了一个Double NumericValue和一个String Value。如果删除规则0,.drl编译器将工作并检测到规则1,但是使用规则0,编译器将始终生成KieModule编译器错误。我不知道我的代码有什么问题,为什么不通过条件比较将其与规则一起编译。

1 个答案:

答案 0 :(得分:1)

我解决了我的问题。问题不在.drl文件中,而是在我的Variable类中,该类没有公共的getNumericValue()构造函数。