空比较不适用于jenkins groovy脚本
我这里有一个小代码片段空比较不适用于jenkins groovy脚本,jenkins,groovy,jenkins-pipeline,jenkins-groovy,Jenkins,Groovy,Jenkins Pipeline,Jenkins Groovy,我这里有一个小代码片段 pom = readMavenPom file: 'pom.xml' def dataModelVersion = "${pom.properties['data-model.version']}" def item = [("${pom.artifactId}"): "${dataModelVersion
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,以查看是否至少可以添加所有null值,则不会添加任何内容
然后,地图将包含以下项目:
vessel-dataset: null
vessel-storage: 0.1.18
simulation: null
我在这里遗漏了什么,我觉得我已经尝试了您分配给这行中的
dataModelVersion
String(GString)的所有内容:
def dataModelVersion = "${pom.properties['data-model.version']}"
如果pom.properties['data-model.version']
返回null
然后dataModelVersion==“null”
所以只要改变它
def dataModelVersion = pom.properties['data-model.version']
“null”是字符串,null是没有值。测试null是否相等是错误的。空!=无效的