gpt4 book ai didi

groovy - 你如何将 args 传递给 gmaven groovy :execute?

转载 作者:行者123 更新时间:2023-12-05 00:37:47 27 4
gpt4 key购买 nike

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

printArgs.groovy...

for (a in this.args) {
println("Argument: " + a)
}

命令...
$groovy printArgs.groovy fe fi fo fum 

输出...
Argument: fee
Argument: fi
Argument: fo
Argument: fum

尽管使用 mvn groovy:execute,但我看不到如何通过插件传递这些参数。理想情况下,我想在插件配置中设置一些默认参数,但能够在我执行命令时覆盖它们。如果可能的话,也能够将它们作为命名参数传递会很好。
<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有点稀缺(而且已经过时)。我看到有一个“属性”可选参数,但我不认为这是用于此目的(或者如果是,我无法让它工作!)。

干杯:)

最佳答案

好的,我可以回答我自己的问题以供引用......

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

def someProp = project.properties['someProp']

这样做时,您可以引用在 pom 中的标记中定义的任何属性。此外,您可以在与 groovy 脚本相同的配置标签中定义属性。

Gmaven插件配置...
<configuration>
<properties>
<name>world</name>
</properties>
<source>${pom.basedir}/src/main/resources/bootstrap/helloWorld.groovy</source>
</configuration>

HelloWorld.groovy...
println("Hello $project.properties.name!")
// this also works
// println("Hello $project.properties['name']!")

关于groovy - 你如何将 args 传递给 gmaven groovy :execute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6556425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com