2016-09-28 151 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