我知道Java腳本API(它運行用JavaScript,Groovy等編寫的腳本)和幾種表達式語言(SpEL,JEXL,JUL)。但是可以在Java本身編寫腳本,然後從Java代碼調用該腳本?從Java源代碼調用用Java編寫的腳本
我發現了一些關於以編程方式通過tools API編譯Java的信息,但這不像腳本(即上下文不同)。
我想是這樣的劇本我的Java代碼中執行:
int i = 42 + getFoo();
setBar(i);
現在 - 當與提供getFoo
和setBar
方法上下文中調用 - 它應該評估i
並調用該方法。
所以你正在尋找像JShell的REPL? –
JSell可以成爲Java 9的一個選項,但是我已經修復了Java 8.另一種BeanShell感覺過時了(從2005年開始)。只要JShell腳本可以從Java調用,它就可以滿足我的需求。 –