加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

你如何将args传递给gmaven groovy:执行?

发布时间:2020-12-14 16:23:53 所属栏目:大数据 来源:网络整理
导读:我需要将一些args传递给通过gmaven执行的groovy脚本.如果我直接在命令行上执行脚本,我就可以做到这一点: printArgs.groovy … for (a in this.args) { println("Argument: " + a)} 命令… $groovy printArgs.groovy fe fi fo fum 输出… Argument: feeArgum
我需要将一些args传递给通过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,我无法看到如何通过插件传递这些args.理想情况下,我想在插件配置中设置一些默认参数,但是当我执行命令时能够覆盖它们.如果可能的话,能够将它们作为named-args传递也会很好.

<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有点稀缺(也过时).我看到有一个’属性’可选参数,但我不认为这是用于此目的(或者如果它是,我不能让它工作!).

干杯:)

解决方法

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

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

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']!")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读