小编Spa*_*kle的帖子

Jenkins 在一行中解释多个对象声明

这不是一个问题,而是一个警示故事:我试图节省一些空间并在 Jenkins 声明式管道中声明我的变量,如下所示:

int a, b, c
Run Code Online (Sandbox Code Playgroud)

然后,我将它们初始化为:

a = b = c = 0
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我使用这些整数作为 for 循环中的计数器。我的脚本一遍又一遍地失败,抛出了一些异常:

java.lang.NullPointerException: Cannot invoke method next() on null object
Run Code Online (Sandbox Code Playgroud)

我确信我的列表是有效的,因为它是硬编码的。所以,我开始想知道这些计数器发生了什么,当我对它们调用 getClass() 时,Jenkins 高兴地告诉我它们不是整数,而是

org.codehaus.groovy.runtime.NullObject
Run Code Online (Sandbox Code Playgroud)

更改代码后

int a = 0
int b = 0
int c = 0
Run Code Online (Sandbox Code Playgroud)

一切都像魅力一样。只是想分享这个。也许它会帮助某人避免一些挫折。

groovy jenkins jenkins-groovy jenkins-pipeline

9
推荐指数
1
解决办法
340
查看次数