Groovy AntBuilder - 指定 Java 临时目录

Groovy AntBuilder - Specify Java Temp Dir

在我的 Groovy 程序中,我使用 Groovy AntBuilder 调用 Ant ReplaceRegExp 任务。

def antBuilder = new AntBuilder()
antBuilder.replaceregexp(....)

但是在 Unix 上,我得到以下异常:

Could not create tempfile in /tmp
    at org.apache.tools.ant.util.FileUtils.createTempFile(FileUtils.java:941)
    at org.apache.tools.ant.taskdefs.optional.ReplaceRegExp.doReplace(ReplaceRegExp.java:353)

我用于 运行 Goovy 程序的 UNIX 用户没有默认 java 临时目录的权限。 直接使用 Ant 时,我可以通过使用 ANT_OPTS.

为 Ant 指定 java.io.tmpdir 来解决这个问题
export ANT_OPTS="${ANT_OPTS} -Djava.io.tmpdir=/scratch/mydir/tmp"

问:在 Groovy 代码中使用 Groovy AntBuilder,如何为 AntBuilder 指定 java.io.tmpdir?

java.io.tmpdir 设置为 setProperty 或通过 -D 开关传递 java.io.tmpdir,例如-Djava.io.tmpdir=some_path有帮助吗?