您好,我的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编译器错误。我不知道我的代码有什么问题,为什么不通过条件比较将其与规则一起编译。
答案 0 :(得分:1)
我解决了我的问题。问题不在.drl文件中,而是在我的Variable类中,该类没有公共的getNumericValue()构造函数。