1

我搜索了 groovy doc 并没有找到类似的东西,但是那里的东西组织得有点随意。我正在从 beanshell 切换到 groovy,并且正在使用 beanshell 中的 source("fileloc") 方法来内联包含其他实用程序 beanshell 脚本以供重用。是否有标准功能可以在 groovy 或最佳实践中执行此操作?

4

2 回答 2

5

您可以将脚本的所有部分组合成一个字符串,然后让 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)
于 2008-11-20T19:06:48.040 回答
1

您没有找到它的原因是因为 Groovy 已编译。您的 Groovy 代码被编译成 Java 字节码,由 JVM 与您应用程序中的任何 Java 代码一起运行。这就是为什么像为大量 Java 代码编写 Groovified 单元测试这样的事情需要零额外的努力。

BeanShell 是一种类似 Java 的解释型语言,因此在运行时输入另一段代码没什么大不了的。

也就是说,您可能对groovysh及其load命令感兴趣。

于 2008-11-19T20:19:46.753 回答