嗨,我已經寫了Groovy腳本,如:呼叫Groovy腳本
class Test{
public Object testComposedRules() {
String ruleACode = {age, product -> def discount = 0; if(age<10 && product=="Toys") discount=10; println "hi $discount"; return discount};
Closure ruleA = (Closure) Eval.me(ruleACode);
Object object = ruleA.call(9, "Toys");
return object;
}
}
當我試圖從另一個主類訪問該類;我不能得到測試類
public static void main() {
Test a = new Test();
a.testComposedRules();
}
我收到錯誤它不存在;有什麼辦法從java類訪問groovy函數;
如何編譯類?他們是在同一個包裏嗎?什麼是實際的錯誤(堆棧跟蹤總是有幫助的) –
另外,你似乎在一個字符串'ruleACode'中存儲一個Closure,然後試圖''Eval.me'這個字符串。 'ruleACode'將具有'Script1 $ _run_closure1 @ f00e0f'(或類似的)值,所以Eval.me將失敗。 –