首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将参数传递给gmaven groovy:execute?

如何将参数传递给gmaven groovy:execute?
EN

Stack Overflow用户
提问于 2011-07-02 18:23:35
回答 1查看 4.3K关注 0票数 4

我需要将一些参数传递给通过gmaven执行的groovy脚本。如果我直接在命令行上执行脚本,我可以做到这一点,没有问题,如下所示:

printArgs.groovy...

代码语言:javascript
复制
for (a in this.args) {
  println("Argument: " + a)
}

命令..。

代码语言:javascript
复制
$groovy printArgs.groovy fe fi fo fum 

输出...

代码语言:javascript
复制
Argument: fee
Argument: fi
Argument: fo
Argument: fum

虽然使用了mvn groovy:execute,但我不知道如何通过插件将这些参数传递给。理想情况下,我希望在插件配置中设置一些默认参数,但可以在执行命令时覆盖它们。如果可能的话,能够将它们作为命名参数传递也是很好的。

代码语言:javascript
复制
<plugin>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.3</version>
    <configuration>
        <source>${pom.basedir}/src/main/resources/printArgs.groovy</source>
    </configuration>
</plugin>

插件documentation有点稀缺(而且也过时了)。我看到有一个'properties‘可选参数,但我不认为这是为了这个目的而使用的(如果是这样的话,我就无法让它工作了!)

干杯:)

EN

回答 1

Stack Overflow用户

发布于 2011-07-04 04:26:29

好的,我可以回答我自己的问题作为参考……

可以非常简单地引用项目属性,而不是传递参数列表,如下所示:

代码语言:javascript
复制
def someProp = project.properties['someProp']

在执行此操作时,您可以引用pom中标记中定义的任何属性。此外,您可以在与groovy脚本相同的配置标记中定义属性。

Gmaven插件配置...

代码语言:javascript
复制
<configuration>
    <properties>
        <name>world</name>
    </properties>
    <source>${pom.basedir}/src/main/resources/bootstrap/helloWorld.groovy</source>
</configuration>

HelloWorld.groovy...

代码语言:javascript
复制
println("Hello $project.properties.name!")
// this also works
// println("Hello $project.properties['name']!")
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6556425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档