No meu aplicativo java eu abro um exe com ProcessBuilder e esse exe faz alguma coisa, esse exe precisa de alguns arquivos e eu os localizei no meu diretório raiz jar mas quando eu executo o jar com duplo clique eu recebo arquivo não existe erro, mas quando eu corro aplicativo do terminal tudo é sucesso.
a propósito, com double click getProperty ("user.dir") pega o caminho errado mas do terminal ele pega o caminho certo.
Código-fonte:
String exeCommand = "pathtoexe";
String[] arguments= new String[] { exeCommand,
"arg1", "arg2","arg3" };
ProcessBuilder proc=new ProcessBuilder(arguments).start();
InputStream out = proc.getInputStream();
BufferedReader input = new BufferedReader(
new InputStreamReader(out));
boolean isSuccess = false;
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line);
if (line.contains("OK")) {
isSuccess = true;
break;
}
}