我在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命令行参数中的单引号,但它不起作用,因为抱怨引号不平衡。