包含 jenkins 声明性管道中空格的 Maven 参数

问题描述

假设我们有一个 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 不利。请问有什么想法吗?

解决方法

您可以尝试使用:

 sh """
 mvn clean install -DparameterType=\"${parameter}\"
 """