2013-08-04 5 views
-1

Я определил некоторые правила в файле DRL и свою первую программу создания файла drl. Я получаю ошибку «неспособным анализировать выражение» .Здесь мой код:drools - Невозможно проанализировать выражение

package rules 

import com.sample.Applicant.appli; 

rule "Is of valid age" 

when 

    $a : appli (age < 18) // appli is my class name 
          // age is a variable in that class 

then 

    $a.setValid(false); // setValid is a method of appli 

end 

и получаю ошибку:

Unable to Analyse Expression age < 18: 

[Error: unable to resolve method using strict-mode: com.sample.Applicant$appli.age()] 

[Near : {... age < 18 ....}] 

     ^
[Line: 16, Column: 4] : [Rule name='Is of valid age'] 

ответ

1

Убедитесь в классе appli, age либо общественной или имеет общедоступный метод getAge().

0

Даже я получаю подобную ошибку 'Невозможно Анализировать Expression ....' при проверке файла DRL в Drools Workbench 6.4.0 Final. Я проверил Data Object, его поля, спецификатор доступа для сеттеров и геттеров. Все казалось ОК. Затем я сохранил свой объект данных и вернулся в файл DRL и выполнил проверку. Вдруг вышеприведенная ошибка исчезла, и я увидел сообщение «Успешно проверено». Моя ошибка заключалась в том, что я создал объект Data в Drools Workbench, я забыл его сохранить, нажав кнопку «Save».

Поэтому я предлагаю вам, если вы на 100% уверены, что ваши данные и файлы DRL верны, сохраните их сначала, а затем снова проверьте файл DRL.

Смежные вопросы