Мне нужно выполнить .exe файл из функции в одном из пакетов, которые у меня есть в моем проекте java. теперь рабочий каталог представляет собой корневую директорию проекта для java, но файл .exe в подкаталогах моего проекта. вот как организован проект:
ROOT_DIR
|.......->com
| |......->somepackage
| |.........->callerClass.java
|
|.......->resource
|........->external.exe
Сначала я попытался запустить файл .exe прямо через:
String command = "resources\\external.exe -i input -o putpot";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
но проблема заключается в внешнем .exe, необходимо получить доступ к некоторым файлам в его собственном каталоге и держать в курсе, что корневой каталог является его каталогом. Я даже пытался использовать .bat файл для решения проблемы, но эта же проблема возникает:
Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "resources\\helper.bat"});
а файл .bat находится в том же каталоге, что и файл .exe, но такая же проблема возникает. вот содержимое файла .bat:
@echo off
echo starting process...
external.exe -i input -o output
pause
даже если я перемещаю файл .bat в root и исправляю его содержимое, проблема не исчезает. plz plz plz help