Maven exec插件调用bash无法正确传递参数

时间:2018-08-21 20:31:17

标签: bash maven teamcity maven-plugin exec-maven-plugin

我在TeamCity中建立了一个版本,该版本使用exec-maven-plugin运行bash并运行一个脚本,并应使用4个参数,其中2个是我从pom提供的,而2个应来自TeamCity环境。

我在TeamCity构建中使用以下命令行参数:

-DpreparationGoals=verify -Darguments='-Dfoo=1 -Dbar=2'

然后是POM:

            <execution>
                <id>Native</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>exec</goal>
                </goals>
                <configuration>
                    <executable>bash</executable>
                    <arguments>
                        <argument>scripts/run_script.sh</argument>
                        <argument>${version}</argument>
                        <argument>${version.Native}</argument>
                        <argument>${foo}</argument>
                        <argument>${bar}</argument>
                    </arguments>
                </configuration>
            </execution>

它设法解析第一个参数,但是将整个其余参数字符串作为第一个参数传递,而第二个则未解析:

[DEBUG] Executing command line: [bash, scripts/run_script.sh, 1.2, 2.4, 1 -Dbar=2]

我试图用双引号替换Maven命令行参数中的单引号,但它不起作用,因为抱怨引号不平衡。

0 个答案:

没有答案