【问题标题】:Maven param that contains spaces in jenkins declarative pipeline在詹金斯声明性管道中包含空格的 Maven 参数
【发布时间】: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


【解决方案1】:

您可以尝试使用:

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

【讨论】:

  • @gandalf_the_cool : 3 如示例所示
  • @gandalf_the_cool : 你能做一个回声和测试吗?sh(script "echo \" ${PARAMETER}\"")
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多