Grails:从插件添加的方法中理解错误

Grails:从插件添加的方法中理解错误,grails,groovy,grails-3.0,Grails,Groovy,Grails 3.0,我正在尝试将jGit插件移植到Grails3 该插件向某些类(默认的“控制器”、“服务”和“域”,但可从Grails2.x中的Config.groovy配置)添加一个方法“withJGit” 我已经对Grails 3进行了我认为必要的所有更改,但是当我们的应用程序尝试调用“withJGit”时,会出现以下错误: No signature of method: app.GitService.withJGit() is applicable for argument types: (app.GitS

我正在尝试将jGit插件移植到Grails3

该插件向某些类(默认的“控制器”、“服务”和“域”,但可从Grails2.x中的Config.groovy配置)添加一个方法“withJGit”

我已经对Grails 3进行了我认为必要的所有更改,但是当我们的应用程序尝试调用“withJGit”时,会出现以下错误:

No signature of method: app.GitService.withJGit() is applicable
for argument types: (app.GitService$_updateData_closure1) 
values: [app.GitService$_updateData_closure1@2e4d8f4a] 
Possible solutions: withJGit(groovy.lang.Closure)
插件中“withJGit”的定义是:

private void addDynamicMethods(klass,jgit){
klass.metaClass.withJGit=withJGit.curry(jgit)
}
private with jgit={jgit,闭包->
如果(!closure)返回
closure.delegate=jgit
closure.resolveStrategy=closure.DELEGATE\u优先
闭包(jgit.rootFolder)
}
为什么会出现“无签名”错误? 这个动态方法定义有什么问题

上面代码中的“jgit”是一个springbean,它实现了底层jgit库的接口

我认为我对Groovy有很好的理解,但这让我感到困惑

正在进行的工作代码可在此处找到: