#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
В моем переменном объекте я добавил двойное числовое значение и строковое значение. Если я удалю правило 0, компилятор .drl будет работать и обнаружит правило 1, однако с правилом 0 компилятор всегда генерирует ошибку компилятора KieModule. Я не знаю, что не так с моим кодом и почему он не компилируется с правилом с условным сравнением.
Ответ №1:
Я решил свою проблему. Проблема была не в .файл drl, но вместо этого в моем переменном классе, у которого не было общедоступного конструктора getNumericValue().