【问题标题】:How to pass maven command-line arguments to a inline Groovy script如何将 Maven 命令行参数传递给内联 Groovy 脚本
【发布时间】:2013-02-09 15:54:46
【问题描述】:

我正在使用maven-release-plugin 发布一些工件。在release:perform 目标期间,我想运行一个内联 Groovy 脚本,该脚本使用我的 SCM 凭据来执行一些任务。

这是我的pom.xmlsn-p

...     
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.4</version>
  <configuration>
    <goals>
      clean
      deploy
      org.codehaus.gmaven:gmaven-plugin:execute
    </goals>
  </configuration>
</plugin>
<plugin>
  <groupId>org.codehaus.gmaven</groupId>
  <artifactId>gmaven-plugin</artifactId>
  <version>1.3</version>
  <executions>
    <execution>
      <id>default-cli</id>
      <goals>
        <goal>execute</goal>
      </goals>
      <configuration>
        <source>
           log.info "Username: ${project.properties.username} account"
        </source>
      </configuration>
    </execution>
  </executions>
</plugin>
...

我按如下方式调用 Maven

mvn -B release:prepare release:perform -Dusername=foo -Dpassword=bar

我得到以下输出:

Username: null account

我尝试查看官方GMaven 页面,但似乎缺少一些sn-ps...

有什么想法吗?


编辑

我通过在 goals 部分传递凭据完成

...     
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.4</version>
  <configuration>
    <goals>
      clean
      deploy
      org.codehaus.gmaven:gmaven-plugin:execute -Dusername=${username} -Dpassword=${password}
    </goals>
  </configuration>
</plugin>
...

命令行是一样的: mvn -B release:prepare release:perform -Dusername=foo -Dpassword=bar

正如@khmarbaise 所说,Maven 的发布周期似乎是分叉的。我不确定它是否将所有命令行参数传递给分叉进程。所以这样做就像我在强制 CLI 参数的前进。

【问题讨论】:

  • 这一定与您拥有的其他一些配置有关,因为当我使用与您显示的相同的语法时,它对我来说很好。

标签: maven groovy maven-release-plugin


【解决方案1】:

我建议使用 maven-release-plugin 的 -Darguments= 参数,因为在发布周期内 maven 将被分叉,这似乎是这里的问题。

这样

mvn -B release:prepare release:perform -Darguments="-Dusername=foo -Dpassword=bar"

注意引号。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 2014-03-08
    • 2013-10-22
    • 2016-12-19
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多