方法grails.spring.BeanBuilder#registerBeans的歧义方法重载



我正在关注迈克凯利的精彩教程视频,但我被以下问题难住了。当我添加新的域类时,就会发生这种情况。我尝试撤销更改并添加具有不同名称的 DomainClass、重新启动 IDE 等。只有一个域类我没有错误,如果我添加一个,则会出现错误。

我正在使用ggts 3.4.0,Grail 2.3.1,JDK 1.7.0_45。

 | Error 2013-11-04 21:56:37,442 [Thread-8] ERROR plugins.AbstractGrailsPluginManager  - Plugin [domainClass:2.3.1] could not reload changes to file [C:GrailsProjectTrackergrails-appdomainprojecttrackerEndUser.groovy]: Ambiguous method overloading for method grails.spring.BeanBuilder#registerBeans.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
    [interface org.codehaus.groovy.grails.commons.spring.RuntimeSpringConfiguration]
    [interface org.springframework.beans.factory.support.BeanDefinitionRegistry]
Message: Ambiguous method overloading for method grails.spring.BeanBuilder#registerBeans.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
    [interface org.codehaus.groovy.grails.commons.spring.RuntimeSpringConfiguration]
    [interface org.springframework.beans.factory.support.BeanDefinitionRegistry]
    Line | Method
->> 2980 | chooseMostSpecificParams     in groovy.lang.MetaClassImpl
这是一个

错误。当我调查 http://jira.grails.org/browse/GRAILS-10735 时,我能够重现问题。

在将 null 传递给其参数时,可以重写不明确的方法

MyClass.metaClass.myAmbiguousMethod = {def param ->
    if(param != null){
        myAmbiguousMethod(param)
    } else{
        null
    }
}

我可以通过提供一个render invalidVariable语句在 grails 3.2.4 中重现这一点。从我能说的来看,对render的糟糕论点可能会导致这种情况

相关内容

  • 没有找到相关文章

最新更新