Я хочу вызвать компилятор (нестандартный), расположенный в папке внутри моего Java-приложения. Поэтому я написал этот код:
Process p = Runtime.getRuntime().exec("closures/bin/javac " + filename);
Это сработало!
Но теперь я хочу упаковать этот компилятор вместе с моими файлами .class в файл .jar. Моя структура папок выглядит примерно так:
.class (много классов)
замыкания / (папка)
Но когда указанная выше строка из файла jar (вызов компилятора в подпапке) выполняется, я получаю следующее:
Exception in thread "main" java.io.IOException: Cannot run program "closures/bin/javac": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:475)
at java.lang.Runtime.exec(Runtime.java:610)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
at Main.main(Main.java:44)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
at java.lang.ProcessImpl.start(ProcessImpl.java:81)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:468)
... 4 more
Мне кажется, это проблема пути.
Что я делаю не так?
Спасибо.