gpt4 book ai didi

java - 使用带有可选 JVM 参数的 Groovy AntBuilder()

转载 作者:行者123 更新时间:2023-12-02 11:07:49 24 4
gpt4 key购买 nike

我正在尝试更新一个用 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}" 指令?如果指定了 jvm,Groovy Ant 任务需要一个可执行文件,但如果我不指定某些内容,我希望它使用默认值。

本质上,如果jvmExecutable != null就这样做

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

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

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

谢谢!

最佳答案

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

所以这段代码

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

等于这个

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

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

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

关于java - 使用带有可选 JVM 参数的 Groovy AntBuilder(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50823380/

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