groovyで文字列内のgroovyスクリプトを実行するには、以下のコードを実行します。
import org.codehaus.groovy.runtime.*
Binding binding = new Binding()
// 標準出力を設定
buf = new StringWriter()
binding.setProperty("out", buf)
groovyShell = new GroovyShell(binding)
result=null
try
{
result = groovyShell.run("println(args[0])\n return(0)", "message.groovy", ["arg1", "arg2"])
}
catch(Throwable ex)
{
def bufex = new StringWriter()
StackTraceUtils.printSanitizedStackTrace(ex, new PrintWriter(bufex))
buf = ex.getMessage() + "\n" + bufex
result = -1
}
// スクリプト実行結果コード
println "result:" + result
println "--------"
// スクリプトの出力
println buf
println "--------"
0 件のコメント:
コメントを投稿