2016-05-10 11 views
1

私のGroovyプログラムでは、Groovy AntBuilderを使用してAnt ReplaceRegExpタスクを呼び出しています。 Unix上しかしGroovy AntBuilder - Java Temp Dirを指定

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

、私は次の例外を取得:

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" 

Qsの:GroovyのコードでGroovyのAntBuilderでは、どのように私はAntBuilderためjava.io.tmpdirのを指定することができますか?

+0

私の答えが分かりましたか? – Opal

+0

はい、ありがとう – Perihelion

答えて

0

java.io.tmpdirsetPropertyと設定するか、java.io.tmpdirから-Dスイッチを使用して設定しますか。 -Djava.io.tmpdir=some_path助けてください?

+0

はい、Groovyプログラム内の 'setProperty'でjava.io.tmpdirを設定しました。ただし、AntBuilderオブジェクト自体にtmpディレクトリを設定する方法があるかどうか不思議です。たぶんそこにはないかもしれませんが、このアプローチは仕事です。 – Perihelion

関連する問題