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