0

我有一个 groovy 脚本(source.groovy),它需要从另一个 groovy 脚本(external.groovy)调用一个方法。问题是 external.groovy 导入了一个不存在的库,因此出现错误。这是一个例子:

来源.groovy:

 new GroovyShell().parse( new File( 'external.groovy' ) ).with {
    method()
  }

这是external.groovy:

import com.foo.doesnotexsist
def method() {println "test"}

当我运行 Source.groovy 时出现错误,因为 com.foo.doesnotexsist 不存在。我不在乎它不存在,因为它不会影响 method() 函数。有没有办法可以调用 method() 函数?

4

1 回答 1

0

也许这不是我们想要实现的方式,但是有一个简单的解决方案可以删除不需要的导入:

def text = new File( 'external.groovy' ).findAll{!(it =~ /^\s*import/)}.join('\n')
new GroovyShell().parse( text ).with{method()}
于 2014-06-07T08:45:04.420 回答