私の 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"
Qs: Groovy コードで Groovy AntBuilder を使用する場合、AntBuilder の java.io.tmpdir を指定するにはどうすればよいですか?