【发布时间】:2021-08-17 14:08:03
【问题描述】:
假设我们有一个 jenkins 管道,在某些时候我们执行一个 maven 参数化构建:
sh "mvn clean install -DparameterType=${parameter}"
如果参数的值包含空格怎么办?例如,该值为“测试参数”。
在 IDE 上运行时,这当然可以:
mvn clean install -DparameterType="test param"
但是如果我们在管道内部做类似的事情,比如
sh "mvn clean install -DparameterType=\"${parameter}\""
或
sh "mvn clean install -DparameterType=""${parameter}""
它没有,并且参数像传递一样
-DparameterType=test param
这对 maven 不利。请问有什么想法吗?
【问题讨论】:
-
你试过用
'单引号代替..."mvn clean install -DparameterType='${parameter}'" -
@khmarbaise 当然可以。直接并通过转义单引号。没用:/
标签: java maven jenkins jenkins-pipeline parameterization