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

问题描述 投票:0回答:2

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

java maven jenkins jenkins-pipeline parameterization
2个回答
0
投票

您可以尝试使用:

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

0
投票

管道的下面部分定义了一些带有空格键的字符串:

 environment {
    _CONFIG = "Your Rules"
}
stages {
    stage('Static analysis') {
        steps { 
            bat "\"${_CONFIG}\""
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.