Зависит ли javax.tools от JDK?
Я хочу использовать JavaCompiler
динамически создавать некоторые классы.
Я нашел исходный код javax.tools
пакет, но нет реализации; некоторые посты в интернете говорят, что это зависит от tools.jar
, Я не уверен tools.jar
ассоциируется с JRE.
Итак, могу ли я запустить программу в среде JRE без установленного JDK?
Другой вопрос, какова деталь реализации JavaCompiler
это создает новый процесс для вызова javac
команда?
Спасибо
1 ответ
JRE должны включать интерфейсы и классы в этот пакет, но не обязаны предоставлять реализации.
Sun JRE не делает, и возвращает ноль от вызова ToolProvider.getSystemJavaCompiler()
,
Этот другой вопрос адресован Java 5.
Вот сообщение в блоге Мортена Нобеля-Йоргенсена о том, как использовать компилятор eclipse в качестве реализации javax.tools.JavaCompiler.
JavaCompiler javac = new EclipseCompiler();