我用Google搜索并发现您可以通过设置setTargetDirectory将GroovyScriptEngine输出scriptCache转换为类文件。但是当我从scala执行类似下面的代码时,它不会生成类文件。
如何将GroovyScriptEngine设置为从GroovyScriptEngine编译的脚本输出类文件?
var gse = new GroovyScriptEngine()
gse.getConfig().setTargetDirectory("c:/test")
var scriptClass = gse.loadScriptByName("SomeGroovyClass.groovy")
答案 0 :(得分:1)
似乎GroovyScriptEngine
(from looking at the source)使用CompilerConfiguration
它需要在内部ScriptClassLoader
的构造函数中传递,以便它扩展的GroovyClassLoader
在构造时获得配置。