Eclipse: javac: целевой выпуск 1.6 конфликтует с исходным выпуском 1.7 по умолчанию

Я пытаюсь выполнить сборку на Eclipse Kepler, но когда я это делаю, я получаю следующую ошибку javac: target release 1.6 conflicts with default source release 1.7

Я изменил компилятор Java, чтобы использовать 1.6, но это предупредило меня, что JRE по умолчанию — 1.7. Затем я перешел к установленным JRE, удалил 1.7 и создал новый для 1.6.

Это все еще дает ту же ошибку. Я также видел кое-что о добавлении -vm и пути java к eclipse.ini, но это тоже не помогло.

Кто-нибудь знает что делать?


person Clinton Green    schedule 05.02.2014    source источник
comment
Какая Java по умолчанию установлена ​​на вашем компьютере? В проекте, который вы пытаетесь построить, какой уровень Java указан для компилятора?   -  person mikemil    schedule 05.02.2014
comment
Java по умолчанию на машине — java-1.6.0-openjdk. В Eclipse/компиляторе я указал то же самое (1.6), но по-прежнему говорит, что Eclipse по умолчанию — 1.7.   -  person Clinton Green    schedule 05.02.2014
comment
Я использую Kepler с Java 7 для Eclipse. Под этим я подразумеваю, что вы можете передать параметр -vm в командной строке, чтобы Eclipse работал с Java 7, но затем в настройках и проектах вы можете настроить проекты для компиляции и запуска Java 6 или 7. Мне нужно добраться до другой компьютер, чтобы проверить это, потому что на этом компьютере не установлено Eclipse.   -  person mikemil    schedule 05.02.2014
comment
Я понимаю, что эта ссылка предназначена для Indigo, но содержание должно быть таким же — см. параметр командной строки -vm. Вы можете запускать Eclipse на Java7 и по-прежнему настраивать свои проекты для использования Java 6. help.eclipse.org/indigo/ Надеюсь, это поможет...   -  person mikemil    schedule 05.02.2014
comment
@mikemil проигнорируйте последний комментарий, пожалуйста. Поэтому я запустил его, используя ./eclipse -vm /usr/lib/jvm/java-1.6.0-openjdk. Этот путь правильный, но я получил следующее: для запуска Eclipse должна быть доступна среда выполнения Java (JRE) или комплект разработки Java (JDK). После поиска в следующих местах виртуальная машина Java не найдена: /usr/lib/jvm/java-1.6.0-openjdk/default.ee /usr/lib/jvm/java-1.6.0-openjdk/java /usr/lib /jvm/java-1.6.0-openjdk/libjvm.so   -  person Clinton Green    schedule 10.02.2014
comment
@mikemil Я заставил это работать, добавив /bin к пути. Проблема в том, что по умолчанию по-прежнему используется Java 1.7, что приводит к повторному сбою сборки. Есть идеи?   -  person Clinton Green    schedule 10.02.2014
comment
У вас на этой коробке установлены обе версии 1.6 и 1.7?   -  person mikemil    schedule 10.02.2014
comment
Я так думаю, поставил 1.6 но думаю на нем по умолчанию стояла 1.7.   -  person Clinton Green    schedule 10.02.2014
comment
Помимо установленных JRE, проверьте страницу Preferences-›Java-›Compiler, чтобы убедиться, что она настроена для компиляции с 1.6, а не с 1.7.   -  person mikemil    schedule 10.02.2014


Ответы (1)


Вы можете проверить настройки компилятора проекта или рабочей области и убедиться, что исходная и целевая версии Java совпадают:

  1. Щелкните правой кнопкой мыши проект в проводнике пакетов и выберите «Свойства».
  2. Выберите «Компилятор Java» на левой панели.
  3. Если параметр «Включить специальные параметры проекта» не установлен, нажмите «Настроить параметры рабочей области…».
  4. Убедитесь, что источник и цель 1.6, если это то, что вы собираетесь использовать.

Вот ссылка на аналогичную ошибку при использовании javac из командной строки: Можем ли мы использовать jdk7 javac для компиляции кода с функциями java7 в байт-код java6

person Jay    schedule 14.11.2014