Runtime.exec не будет запускать javac, но командная строка - PullRequest
0 голосов
/ 15 февраля 2019

В моей программе я создаю файл .java, а затем компилирую его.Команда, которую я использую, выглядит следующим образом:

javac -classpath [path to main directory]\my.jar -d [path to main directory]\bin [path to main directory]\src\pkg1\MyClass.java

Она вызывается с помощью следующего кода:

Runtime runtime = Runtime.getRuntime()
runtime.exec(command)

Однако, когда я запускаю ее, нажимая «Выполнить» в Eclipse, я получаюследующая ошибка:

java.io.IOException: Cannot run program "javac": CreateProcess error=2, 
    The system cannot find the file specified

Теперь я знаю, что это значит: я неправильно установил Java, и моя переменная пути должна включать JDK.Однако проблема с этой простой гипотезой заключается в том, что она прекрасно работает, когда я использую ту же самую команду из командной строки (очевидно, не с runtime.exec(), но все же).Я знаю, что это не ошибка моей установки Java или самой команды, потому что в противном случае это не сработало бы из командной строки, так что осталось и как мне это исправить?

...