Как Eclipse компилирует классы только с JRE?
Мне нужно выполнить компиляцию со специальной JRE, которая была "настроена".
Eclipse может скомпилировать классы с помощью этой JRE, но мне нужно создать конструкцию script вне Eclipse.
Каков метод, используемый Eclipse для генерации файлов .class без JDK?
Ответы
Ответ 1
Eclipse поставляется со своим собственным компилятором по следующим причинам:
- Инкрементальная компиляция (может компилировать только измененные части проекта, что может означать больше, чем количество файлов, которые вы только что сохранили, например, когда вы изменили некоторые глобальные)
- Компилятор Eclipse может создавать файл класса, даже если код содержит ошибки. Это позволяет запускать проект, даже если не все компилируется.
- Компилятор предоставляет Eclipse AST, чтобы он мог делать всевозможные причудливые вещи (например, контур, показать вам все места, где переменная под курсором и т.д.) без дополнительных затрат (т.е. ей не нужно запускать компилятор и другой парсер).
Ответ 2
Я считаю, что Eclipse поставляется с внутренними компиляторами, и вы можете выбрать совместимость с Java 1.3 до 1.6 (см. меню "Настройки" в Java- > Compiler). Таким образом, Eclipse не нуждается в компиляции внешнего JDK, потому что он сам по себе является самодостаточным.
Если вы хотите создать конструкцию script вне Eclipse, вам понадобится внешний компилятор, такой как тот, который поставляется с реальным JDK.
Ответ 3
Для интересующего случая: компилятор Eclipse является частью JDT core.
Ответ 4
Eclipse был первоначально создан IBM. Eclipse имеет собственный встроенный компилятор Java, который основан на компиляторе IBM Java, Jikes.