繁体   English   中英

groovy.lang.MissingPropertyException:没有此类属性:

[英]groovy.lang.MissingPropertyException: No such property:

我试图绕过Groovy脚本来对jenkins管道进行一些更改,但我不断收到此错误:

groovy.lang.MissingPropertyException: No such property: credentials for class:

我尝试用def声明变量,但仍然出现异常,eclipse无法识别该属性存在。

我究竟做错了什么?!

#!/usr/bin/groovy

package common.pipeline

import common.pipeline.Credentials

Credentials credentials = new Credentials()

def withCredentials(steps) {
    credentials.productionPipeline(steps)
}

这个脚本将通过groovy编译成Script类,其中在run方法中包含字段定义,并使用另一个尝试访问该字段的withCredentials方法(如下所示):

import common.pipeline.Credentials

class Script1 extends Script {

    def withCredentials(steps) {
        credentials.productionPipeline(steps)
    }

    def run(args) {
        Credentials credentials = new Credentials()
    }
}

如您所见,这是行不通的,因为凭据不在类的“字段”级别上...

Groovy有一个注释可以实现此目的:

#!/usr/bin/groovy

package common.pipeline

import common.pipeline.Credentials
import groovy.transform.Field

@Field Credentials credentials = new Credentials()

def withCredentials(steps) {
    credentials.productionPipeline(steps)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM