Eclipse: синтаксическая ошибка, параметризованные типы доступны только при уровне источника 1,5

Я пытаюсь использовать следующий код:

ArrayList<String>
Map<String, String>

Eclipse жалуется на них обоих: синтаксическая ошибка, параметризованные типы - только если уровень источника равен 1,5.

Я использую JDK 1.6, но даже если я иду к компилятору и переключаю соответствие на 1.5. Это все еще дает мне эту ошибку. Есть идеи почему?

16 ответов

Решение

Я думаю, что когда вы запускаете eclipse непосредственно с JDK 1.6, он на самом деле настроен с другим jre по умолчанию.

Увидеть Window->preferences->java->Installed JREs и убедитесь, что проверенный JRE 1.6,

Если JRE по умолчанию действительно 1.6, есть вероятность, что это специфический для проекта параметр. Смотрите, что проект настроен на использование правильной JRE.

Этот обходной путь полезен, когда появляется эта проблема.

1) Установите для рабочей области JRE 1,5 (и примените / сохраните). Проекты перестроят.

2) Верните Рабочее пространство JRE на 1.6 (и примените / сохраните). Проекты перестроят.

Все ошибки исчезли (по крайней мере, пока).

Это может быть решено следующим образом:

  1. Перейти к свойствам проекта.

  2. Затем "Компилятор Java" -> Установите флажок ("Включить специфичные для проекта настройки")

  3. Измените уровень соответствия компилятора на "5.0" и нажмите "ОК".

Сделай перестройку. Это будет решено.

Также установите флажок "Использовать параметры соответствия по умолчанию".

Да. Независимо от того, что кто-то еще говорит, Eclipse содержит некоторые ошибки, которые иногда приводят к игнорированию настроек рабочего пространства (например, совместимых с 1.6). Это даже когда настройки для каждого проекта отключены, настройки рабочего пространства верны (1.6), JRE настроен правильно, определено только 1.6 JRE и т. Д., Все, что люди обычно рекомендуют при возникновении вопросов по этой проблеме. размещены на различных форумах (как это часто бывает).

Мы сталкиваемся с этим нерегулярно, но часто, и обычно, когда есть какая-то не связанная проблема с зависимостями времени сборки или другими проблемами проекта. Похоже, что он попадает в общую категорию "неспособность заставить Eclipse распознавать реальность", которые я всегда приписываю, правильно или неправильно, чтобы обновить проблемы с обширными метаданными Eclipse. Метаданные Eclipse - это благословение и проклятие; когда все работает хорошо, инструмент становится чрезвычайно мощным и быстрым. Но когда возникают проблемы, расширенное кеширование усложняет решение проблем, иногда гораздо труднее, чем с помощью других инструментов.

Это работает для меня.

В eclipse перейдите в свойства проекта -> компилятор Java.

Затем перейдите на Java выше 1,5 .

измените параметры соответствия компилятора на 1.6 измените совместимость генерируемых файлов с классом на 1.6 измените совместимость с исходным кодом на 1.6

Благодарю. Снимок экрана для изменений

Перейти к свойствам проекта.

Затем "Java Compiler" -> установите флажок и "Включить специфические настройки проекта"

Снимите флажок "Использовать соответствие из среды выполнения" OSGi/Minimum-1.2 "на Java"

Затем измените уровень соответствия компилятора на "1,5" и нажмите "ОК".

Восстановите его, и ваша проблема будет решена.

Щелкните правой кнопкой мыши свой проект и выберите свойства в диалоговом окне свойств, проверьте настройки компилятора Java, возможно, у вас есть другие настройки рабочего пространства.

Один ответ не мог решить мою проблему, поэтому я использовал оба:

  • Сначала щелкните правой кнопкой мыши на ошибке в закладке проблемы
  • нажмите Быстрое исправление
  • Хорошо
  • щелкните правой кнопкой мыши на проекте
  • построить путь
  • настроить путь сборки
  • удалить библиотеку JRE
  • добавить библиотеку JRE

.... тада... сделано...:)

У меня возникла та же проблема с выпуском Eclipse Indigo - хотя проект был настроен правильно. Основная причина, которую я подозреваю, состоит в том, что рабочая область определена в отдельной папке от фактических исходных папок (как упоминалось user748337). Чтобы решить эту проблему, мне пришлось включить опцию параметров проекта (в настройках Porject), хотя она не отличалась от настроек рабочей области.

Также будьте осторожны с наследованием настроек рабочего пространства в ваших проектах для настроек компилятора / соответствия Java. У меня был проект, который был импортирован в Eclipse. Eclipse сгенерировал проект с J2SE 1.4 JRE, компилятором и настройками соответствия.

Когда я вошел и вручную обновил эти настройки и снял флажок "Включить специфичные для проекта настройки", я все еще получал ошибки сборки, связанные с соответствием 1,5 уровня (хотя настройки рабочей области были явно 1,6). Так было до тех пор, пока я не установил флажок "Включить специфические настройки проекта" и вручную установил уровни компилятора / соответствия 1.6, чтобы ошибки исчезли.

Сделайте следующее..

Щелкните правой кнопкой мыши по вашему проекту -> выберите свойства -----> выберите компиляторы Java

Вы увидите это окно

Изображение для справки

Теперь установите флажок ---> включить конкретные настройки проекта.

Теперь установите уровень соответствия компилятора на 1.6

Применить тогда ок

Теперь очистите свой проект, и вы готовы идти

Это может быть решено следующим образом:

Перейти к свойствам проекта.

Затем "Компилятор Java" -> Установите флажок ("Включить специфичные для проекта настройки")

Измените уровень соответствия компилятора на "5.0" и нажмите "ОК".

Установите флажок "Использовать параметры соответствия по умолчанию"

Мне удалось решить эту проблему в Eclipse Helios, щелкнув правой кнопкой мыши по проекту, выбрав "Путь сборки Java", "Добавить библиотеку...", "Системная библиотека JRE", "JRE рабочей области по умолчанию (jdk1.6.0_17)" и наконец "Готово".

Измените версию компилятора на меньшее значение и примените изменения. Компиляция не удастся.

Теперь обновите версию до требуемой и примените изменения, рабочая область будет перестроена, и проблема будет решена.

В настоящее время я работаю с Eclipse Luna. И была такая же проблема. Возможно, вы захотите проверить параметры соответствия компилятора, перейдите в "Project/Properties/Java Compiler"

Уровень соответствия компилятора был установлен на 1,4, я установил на 1,5 (и я работаю с JDK 1.8); это сработало для меня.

И если вам пришлось изменить настройку; может быть полезно перейти в "Window/Preferences/Java/Compiler" и убедиться, что уровень соответствия Compiler составляет 1,5 или выше. На всякий случай, если у вас есть необходимость сделать другой проект Java.

Я получаю это довольно регулярно. В настоящее время у меня работает (с Photon):

  • Закрыть проект
  • Открыть проект

Если это не сработает:

  • Закрыть проект
  • Выйти из затмения
  • Перезапустить Eclipse
  • Открыть проект

Я знаю, глупо, правда?

ЭТО МОЖЕТ БЫТЬ БЫСТРЫМ ИСПРАВЛЕНИЕМ ДЛЯ ЗАТМЕНИЯ

Когда я пытался создать список массивов, он выдавал ошибку, что список массивов не может быть разрешен для ввода, и что-то про "параметризованный тип только на уровне 1.5"

Только я пытался импортировать java.util.ArrayList;

И эта ошибка ушла.

Другие вопросы по тегам