提问者:小点点

不允许在groovy脚本中调用run()


我正在使用GroovyShell在JVM中运行Groovy脚本。GroovyShell使用了几个AST自定义器和一些预定义的方法来定义DSL。但是我发现可以在任何groovy脚本中编写“run()”,使其在无限循环中运行。

有人知道如何禁止在已经运行的脚本中调用“run()”吗?

我试图覆盖脚本的调用方法并设置一个标志以在脚本运行时禁用run方法…但是无论我做什么,我仍然可以在脚本中调用这个run()方法,似乎无需通过脚本的调用方法。

先谢谢你的帮助


共1个答案

匿名用户

将此行添加到您执行的每个脚本中:

this.metaClass.run { null }