2008-11-19 13 views
1

我已經搜遍了groovy文檔,並沒有找到類似的東西,但那裏的東西有點隨意地組織起來。我正在從beanshell切換到groovy,並且正在使用beanshell中的source(「fileloc」)方法來內聯其他實用程序beanshell腳本以供重用。有沒有一個標準的功能在常規或最佳實踐中做到這一點?是否有與beanshell source()方法等價的groovy?

回答

5

您可以將腳本的所有部分組裝到一個String中,然後讓GroovyShell對象評估您的腳本。我從Venkat Subramanium的DSL示例中選擇了它。

part1 = new File("part1.groovy").text 
part2 = new File("part2.groovy").text 

script = """ 
println "starting execution" 
${part1} 
${part2} 
println "done execution" 
""" 

new GroovyShell().evaluate(script) 
1

你沒有找到這個的原因是因爲Groovy被編譯。您的Groovy代碼被編譯爲Java字節碼,該字節碼由JVM運行,與您的應用中的任何Java代碼一起運行。這就是爲什麼像編寫大型Java代碼體的Groovified單元測試這樣的東西需要額外的努力。

BeanShell是一個類似於Java的解釋的語言,所以在運行時弄到另一個代碼是沒有什麼大不了的。

也就是說,您可能對groovysh及其load命令感興趣。

相關問題