2016-05-10 20 views
1

In meinem Groovy-Programm verwende ich Groovy AntBuilder, um die Ant ReplaceRegExp Aufgabe aufzurufen.Groovy AntBuilder - Spezifizieren Java Temp Dir

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

jedoch auf Unix, erhalte ich die folgende Ausnahme:

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) 

Der UNIX-Benutzer ich das fetzig Programm auszuführen verwende nicht Berechtigungen nicht für das Standard-Java-Temp-Verzeichnis hat. Wenn Ant direkt verwendet wird, kann ich dies umgehen, indem ich java.io.tmpdir für Ant mit ANT_OPTS angeben.

export ANT_OPTS="${ANT_OPTS} -Djava.io.tmpdir=/scratch/mydir/tmp" 

Qs: Mit Groovy AntBuilder in Groovy-Code, wie kann ich die java.io.tmpdir für AntBuilder angeben?

+0

Haben Sie meine Antwort hilfreich gefunden? – Opal

+0

Ja, ich tat, danke – Perihelion

Antwort

0

Würde java.io.tmpdir mit setProperty setzen oder java.io.tmpdir über -D wechseln, z. -Djava.io.tmpdir=some_path Hilfe?

+0

Ja, die Einstellung von java.io.tmpdir mit 'setProperty' im Groovy-Programm hat funktioniert. Immer noch neugierig, ob es eine Möglichkeit gibt, das tmp Verzeichnis auf dem AntBuilder Objekt selbst zu setzen. Vielleicht gibt es nicht ... aber dieser Ansatz macht seinen Job. – Perihelion