Зависит ли javax.tools от JDK? - PullRequest
       18

Зависит ли javax.tools от JDK?

7 голосов
/ 11 ноября 2009

Я хочу использовать JavaCompiler для динамического создания некоторых классов.

Я нашел исходный код пакета javax.tools, но реализации нет; некоторые посты в интернете говорят, что это зависит от tools.jar, я не уверен, tools.jar ассоциируется с JRE.

Итак, можно ли запустить программу в среде JRE без установленного JDK?

Другой вопрос, каковы детали реализации JavaCompiler, создает ли он новый процесс для вызова команды javac?

спасибо

1 Ответ

8 голосов
/ 11 ноября 2009

JRE должны включать интерфейсы и классы в этот пакет, но не обязаны предоставлять реализации.

JRE Sun не делает и возвращает ноль от вызова ToolProvider.getSystemJavaCompiler().

Этот другой вопрос адресов Java 5.

Вот сообщение в блоге Мортена Нобеля-Йоргенсена о том, как использовать компилятор eclipse в качестве реализации javax.tools.JavaCompiler.

JavaCompiler javac = new EclipseCompiler();
...