我想將groovy嵌入到一個大的Java應用程序中。GroovyShell:嵌入式執行
Java應用程序應該在啓動時加載一些實用的Groovy腳本。
應用程序應該多次運行其他腳本。還需要在GUI中輸入一些代碼並在用戶請求下執行它。
我現在面臨的問題是這樣的:
我加載像這樣啓動腳本:
GroovyShell gShell = new GroovyShell();
gShell.evaluate(new FileReader("scripts/autoload.groovy"));
假設我autoload.groovy包含:
def prnt(m) {
println("From Groovy: " + m);
}
這工作正常。但是,當我想運行使用的用戶命令:
gShell.evaluate("prnt 66");
我得到的錯誤: groovy.lang.MissingMethodException: No signature of method: Script2.prnt() is applicable for argument types: (java.lang.Integer) values: [66]
如何已經載入我的用戶腳本訪問的方法是什麼?
注意:我也試過「autoload.prnt 88」,但仍然出現錯誤。