alterando o diretório de trabalho do comando de java

Preciso executar um arquivo .exe a partir de uma função em um dos pacotes que tenho no meu projeto java. agora o diretório de trabalho é o diretório raiz do projeto para java, mas o arquivo .exe nos subdiretórios do meu projeto. aqui está como o projeto está organizado:

ROOT_DIR
|.......->com
|         |......->somepackage
|                 |.........->callerClass.java
|
|.......->resource
         |........->external.exe

Inicialmente, tentei executar o arquivo .exe diretamente através de:

String command = "resources\\external.exe  -i input -o putpot";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);

mas o problema é externo .exe precisa acessar alguns arquivos em seu próprio diretório e fica pensando que o diretório raiz é seu diretório. Eu até tentei usar o arquivo .bat para resolver o problema, mas o mesmo problema ocorre:

Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "resources\\helper.bat"});

e o arquivo .bat está no mesmo diretório que o arquivo .exe, mas o mesmo problema ocorre. Aqui está o conteúdo do arquivo .bat:

@echo off
echo starting process...

external.exe -i input -o output

pause

mesmo se eu mover o arquivo .bat para fazer root e corrigir seu conteúdo, o problema não desaparece. plz plz plz ajuda

questionAnswers(3)

yourAnswerToTheQuestion