繁体   English   中英

将Groovy AntBuilder()与可选的JVM参数一起使用

[英]Using Groovy AntBuilder() with an optional JVM parameter

我正在尝试更新使用groovy编写的Maven插件,以使用外部JVM(如果可用),否则,请使用默认值。 我的代码更改如下所示:

def jvmExecutable = null;
if (someCondtion = true) {
 jvmExecutable = "something"
}

def ant = new AntBuilder()
ant.java(fork: "${fork}", jvm: "${jvmExecutable}"....)

如果jvmExecutable为null,在Groovy中是否有办法摆脱jvm: "${jvmExecutable}"指令? Groovy Ant任务在指定了jvm的情况下期望那里有一个可执行文件,但是如果我不指定内容,我希望它使用默认值。

本质上,如果jvmExecutable != null请执行此操作

ant.java(fork: "${fork}", jvm: "${jvmExecutable}", ....)

或者如果jvmExecutable == null请执行此操作

ant.java(fork: "${fork}", ....)

谢谢!

当您将命名参数传递给方法时,您实际上是在构建哈希图

所以这段代码

ant.echo(message:"hello", level:"error")

等于这个

ant.echo( [message:"hello", level:"error"] )

最后,您只想在地图中保留有效值。 像这样:

ant.echo( [message:"hello", level:null].findAll{it.value!=null} )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM