Зависит ли 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();
Другие вопросы по тегам