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 编译成脚本 class,在 run
方法中使用字段定义,并使用另一个方法 withCredentials
试图访问字段(有点像这样):
import common.pipeline.Credentials
class Script1 extends Script {
def withCredentials(steps) {
credentials.productionPipeline(steps)
}
def run(args) {
Credentials credentials = new Credentials()
}
}
如您所见,这将不起作用,因为凭据不在 class...
中的字段级别
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)
}
我正在尝试编写 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 编译成脚本 class,在 run
方法中使用字段定义,并使用另一个方法 withCredentials
试图访问字段(有点像这样):
import common.pipeline.Credentials
class Script1 extends Script {
def withCredentials(steps) {
credentials.productionPipeline(steps)
}
def run(args) {
Credentials credentials = new Credentials()
}
}
如您所见,这将不起作用,因为凭据不在 class...
中的字段级别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)
}