Groovy编译,尽管函数参数中有错误

Groovy编译,尽管函数参数中有错误,groovy,jenkins-groovy,groovy-eclipse,Groovy,Jenkins Groovy,Groovy Eclipse,这在Groovy中合法吗 class RequestContext { def static requestContext def static setRequestContext(rc) { requestContext = rc } } 鉴于上述情况,我预计使用groovy eclipse编译器在编译时会出现以下问题: RequestContext.setRequestContext 然而,这是通过的,我试图让它在mvn编译时失败。它不能在编译时失

这在Groovy中合法吗

class RequestContext {
    def static requestContext

    def static setRequestContext(rc) {
        requestContext = rc
    }
}
鉴于上述情况,我预计使用groovy eclipse编译器在编译时会出现以下问题:

RequestContext.setRequestContext


然而,这是通过的,我试图让它在mvn编译时失败。

它不能在编译时失败,因为您可以在运行时通过元类动态添加该方法,即:

class Test {
}

Test.metaClass.static.woo = { -> println "yay" }

Test.woo() // prints 'yay'

要在编译时失败,您需要用@CompileStatic或@TypeChecked注释调用类,因为您可以在运行时通过元类动态添加该方法,即:

class Test {
}

Test.metaClass.static.woo = { -> println "yay" }

Test.woo() // prints 'yay'
要在编译时失败,需要使用@CompileStatic或@TypeChecked注释调用类