Como executar um programa externo com work dir diferente?

Olá,

preciso rodar um ant sobre um arquivo build.xml que está numa pasta diferente da qual a minha classe java. Para isso eu montei o seguinte código.

String cmd = ANT_HOME + "ant.bat";
 
Execute exe = new Execute();
exe.setCommandline(new String[]{cmd});
exe.setWorkingDirectory(new File(d:\meuprojeto));
int retVal = exe.getExitValue();
if ( retVal != 0 ) 
			throw new DeployException("erro!");

Quando eu rodo o programa o valor de retVal é sempre igual 2147483647. QUando eu pego o valor da variavel cmd e ponho no shell o ant roda sem problemas dando BUILD SUCESSFUL.

Também já testei assim:

exe.setCommandline(new String[]{"cmd.exe", "/c", cmd});

e o erro é o mesmo.

Minha variavel ANT_HOME está ok… nao faltando nenhum parenteses: “c:/ant/bin/”

Alguém teria alguma luz!! POR FAVOR!!! :sad: [/code]