2016-09-28 152 views
2

我试图建立在KIE工作台/ Drools的一个简单的规则在新的DRL文件,我不断收到关于构建以下错误&部署Drools-规则编译错误名称无法解析为变量语法错误,插入“;”完成声明

规则编译错误名称不能被解析为变量语法错误,插入“;”完成声明

下面的代码:

package demo.people.peopleproject 
import demo.people.peopleproject.Person 

rule "is18rule" 
    when 
     Person(age>=18) 
    then 
     System.out.println(name + "is 18 or over") 
end 

这是我的工作台上的屏幕截图如果有帮助 enter image description here

我是新来的Drools,TIA您的帮助:)

编辑:我应该补充说,简单地添加一个;真的在这里没有任何帮助,所以,是的,我试过

+0

该规则的RHS是Java所以你需要;完成报表。 – tarilabs

+0

关于与匹配Person的“name”字段相关的内容,您可以按照您自己的回答进行操作,或者在LHS中将变量绑定为“Person($ name:name,...)”,然后在RHS中引用为'$ name'。 – tarilabs

+0

是的,谢谢! – tls11

回答

2

我找到了答案 - 如果将来对任何人都有帮助,这里是最终为我工作的代码。需要分号和稍微不同的语法。

package demo.people.peopleproject 
import demo.people.peopleproject.Person; 

rule 'is18rule' 
    when 
     p: Person(age >= 18) 
    then 
     System.out.println(p.getName() + "is 18 or over."); 
end