我有一个groovy脚本(source.groovy)需要从另一个groovy脚本(external.groovy)调用一个方法。问题是external.groovy导入了一个不存在的库,所以我收到了一个错误。这是一个例子:
Source.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()函数?
答案 0 :(得分:0)
也许这不是我们想要实现的方式,但有一个简单的解决方案可以删除不需要的导入:
def text = new File( 'external.groovy' ).findAll{!(it =~ /^\s*import/)}.join('\n')
new GroovyShell().parse( text ).with{method()}