Вот что у меня есть:
JAVA_HOME = C: \ Software \ Java \ jdk1.5.0_12 (указывает на JDK 5.0)
В Eclipse «Установленные среды выполнения» у меня есть: jre 1.5.0_12 (указывает на JRE 5.0) jre 1.6.0_3 (указывает на JRE 6.0) (по умолчанию)
У меня нет «javac» в моем PATH (т.е. я не могу запустить javac -version из командной строки, если я не в JDK / bin).
Мой проект настроен на использование jre 1.6.0_3, а уровень соответствия компилятора установлен на 6.0.
Вопрос: как Eclipse компилирует мой проект? Где найти компилятор для 6.0? Более того, есть ли способ точно определить, какой компилятор (т.е. путь к javac) используется Eclipse?
P.S. OS XP SP2, если актуально P.P.S. У меня нет установки -vm в eclipse.ini. В eclipse я вижу eclipse.vm = C: \ Program Files \ Java \ jre6 \ bin \ client \ jvm.dll, и это все еще JRE.
Eclipse имеет JDT, который включает инкрементный компилятор, поэтому ему не нужен внешний, если только вы этого не хотите :)
Фактически, вы не можете заменить инкрементный компилятор в JDT на javac. Я полагаю, вы можете использовать стандартный javac для безголовых сборок, но не в IDE.
Вы можете использовать сценарий сборки Ant, чтобы javac скомпилировал ваш код в Eclipse, если хотите.
поэтому Eclipse IDE компилируется при сохранении (cos), может быть.
Eclipse поставляется со встроенным компилятором. Вы можете использовать внешний JDK, если вы настроите его в настройках.
Обновлено: Спасибо Андре!
Это неправда, он поставляется с компилятором, но не с jdk!
В Eclipse есть список установленных JRE под окно-> настройки-> java-> Установленные JRE. Тот, который выбран по умолчанию, будет включен в Eclipse, но вы можете легко добавить любые другие JRE из этой же панели предпочтений и выбрать любое значение по умолчанию, которое хотите.
Это будет общесистемное значение по умолчанию, которое можно переопределить для каждого проекта на вкладке Путь сборки-> Библиотеки. Чтобы изменить, выберите Добавить библиотеку-> Системная библиотека JRE и выберите из настроенных JRE. Затем удалите библиотеку по умолчанию.
Это меняет JRE - я не думаю, что это заставит Eclipse использовать внешний javac.
У меня был такой же вопрос =) Ответ: stackoverflow.com/questions/325498/…