在我的 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 temp 目录的权限。直接使用 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?