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

每当我使用条件值时,Drools错误“java.lang.RuntimeException”,drools,Drools,您好,我的drools程序出现以下错误: java.lang.RuntimeException:无法获取模块,存在错误 我的.drl文件如下所示: package com.baeldung.drools.rules import com.model.Variable; import com.model.Recommendation; global com.model.Recommendation recommendation; dialect "mvel" rule "Rule 0" w

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

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

我的.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

在我的变量对象中,我添加了一个双数值和一个字符串值。如果删除规则0,.drl编译器将工作并检测规则1,但是使用规则0,编译器始终生成模块编译器错误。我不知道我的代码出了什么问题,也不知道为什么它没有使用带条件比较的规则编译。

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