В общем, вы захотите запустить Process
, который запускает внешнюю программу (сначала компилятор, а затем скомпилированный двоичный файл в вашем случае), используя либо Runtime.getRuntime().exec()
, либо ProcessBuilder
для порождения Process
(поскольку ваш компилятор, вероятно, использует сложный набор параметров, ProcessBuilder
, вероятно, является лучшим вариантом). Это позволит вам получать выходные данные процесса во время его выполнения (чтобы вы могли отслеживать выходные данные компилятора на наличие предупреждений или ошибок), а также его код возврата.
Вам могут пригодиться следующие примеры:
http://www.rgagnon.com/javadetails/java-0014.html
Чтобы получить код возврата работающего Process
, просто используйте метод waitFor()
. Это удобно, если вы не заботитесь о каком-либо из выходных данных и просто хотите получить возвращаемое значение.