首页 > 解决方案 > 空值比较不适用于詹金斯 groovy 脚本

问题描述

我这里有一个小代码片段

                            pom = readMavenPom file: 'pom.xml'
                            def dataModelVersion = "${pom.properties['data-model.version']}"
                            def item = [("${pom.artifactId}"): "${dataModelVersion}"]
                            if(dataModelVersion!=null){
                                theMap.putAll(item)
                            }

并非每个 pom 都有一个 data-model.version 值,所以看起来 dataModelVersion 应该包含 null ,当我检查我的地图时它会出现,但由于某种原因,如果我将它更改为 dataModelVersion ==null 看看我是否至少可以添加所有空值

然后地图将包含类似的项目

vessel-dataset: null
vessel-storage: 0.1.18
simulation: null

我在这里错过了什么,我觉得我已经尝试了一切

标签: jenkinsgroovyjenkins-pipelinejenkins-groovy

解决方案


dataModelVersion在这一行中分配给一个字符串(GString):

def dataModelVersion = "${pom.properties['data-model.version']}"

如果pom.properties['data-model.version']返回null

然后dataModelVersion == "null"


所以只要改变它

def dataModelVersion = pom.properties['data-model.version']

推荐阅读