jenkins - 空值比较不适用于詹金斯 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
我在这里错过了什么,我觉得我已经尝试了一切
解决方案
您dataModelVersion
在这一行中分配给一个字符串(GString):
def dataModelVersion = "${pom.properties['data-model.version']}"
如果pom.properties['data-model.version']
返回null
然后dataModelVersion == "null"
所以只要改变它
def dataModelVersion = pom.properties['data-model.version']
推荐阅读
- php - 未找到“PDO”类 - 已安装 PDO 驱动程序
- javascript - Vue.js - 需要在不重新加载的情况下切换方向(rtl 到 ltr,反之亦然)
- haskell - 最小固定点,最大固定点
- constructor - Kotlin 语法糖:在构造函数中将 var 设为私有
- hibernate - JPA:如何将 LocalDateTime 转换为 LocalDate
- c - 为什么我需要将 NUL 字符附加到数组?
- content-security-policy - “宽松”的 Content-Security-Policy 有多大用处
- python - 如何创建具有给定指数 gamma 的幂律分布无标度网络
- loops - 跳出kotlin中的for循环
- r - 为什么这个简单的回归(keras)人工神经网络失败得如此糟糕?