JavaCompiler и runtime.exec не могут скомпилировать программу, потому что не могут найти компилятор - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь заставить мое приложение компилировать файл .java.Тем не менее, я столкнулся с заметным недостатком: по-видимому, при работе через Eclipse (для тестирования) системный компилятор не может быть найден.Я пробовал JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();, но компилятор просто нулевой;Я попытался запустить runtime.exec(), тестируя команду, запускаемую вручную в командной строке (и там она работает нормально), но она все равно возвращает ошибку «not find javac», которая обычно означает, что путь не установленправильно.Eclipse скомпилирует реальную программу, которую я запускаю, но код, запускаемый IN Eclipse, не может найти такой компилятор.Я не хочу вручную устанавливать переменную PATH, потому что я планирую распространить эту программу среди других, так как еще я могу решить эту проблему?

1 Ответ

0 голосов
/ 19 февраля 2019

Для будущих читателей @Andreas прокомментировал ответ, а я разобрался с остальными.В настройках моей программы JRE использовался по умолчанию.Мне пришлось изменить его на JDK (который поставляется с установленным JRE, начиная с Java 1.8), чтобы получить доступ к компилятору;Я сделал это, перейдя по пути сборки, добавив JDK в качестве «Системной библиотеки JRE» и удалив старую библиотеку.

...