Уровень компилятора Java не соответствует версии установленного аспекта проекта Java


203

Я создал новый динамический проект в Eclipse Helios Version, где для моей версии JRE установлено значение 1.6. Я добавил возможности Maven в веб-приложение, щелкнув ConfigureConvert to Maven Project .

После добавления этой ошибки в представлении Eclipse Неполадки появилась ошибка:

Java compiler level does not match the version of the installed Java project facet.
Unknown Faceted Project Problem (Java Version Mismatch)

Скажите, пожалуйста, как устранить эту ошибку (я хочу, чтобы моя версия JRE была только 1.6).


Ответ Bigleftie хорошо послужил мне для проекта не Maven.
Джек Мейсон

Пользователи Eclipse могут прочитать этот journaldev.com/3334/…
Ахмад Надим

Ответы:


167

Предполагая , что вы используете плагин m2e в Eclipse, вам необходимо указать sourceи targetверсию , как 1.6 для maven-compiler-plugin. m2e использует эти значения для определения уровня компилятора Java проекта. Фрагмент POM показан ниже:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
    </plugin>
  </plugins>
</build>

Кроме того , вы можете указать maven.compiler.sourceи maven.compiler.targetсвойство со значениями 1,6, которые происходят быть эквивалентно:

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>

61
Можете ли вы сделать это: - Щелкните правой кнопкой мыши по своему проекту - Нажмите Свойства - Выберите опцию «Фасеты проекта» в левом меню - В разделе «Фасеты» «Java» справа, измените его на «1.6», «1.7» или ваш версия ... - Нажмите Ok
Тьяго Перейра

3
@ThiagoPereira Эти изменения теряются при повторном импорте в другое рабочее пространство. Узнайте, как работает m2e.
Вине Рейнольдс

Пользователи Eclipse могут прочитать journaldev.com/3334/…
Ахмад Надим

401

Если ваш проект не является проектом Maven, щелкните его правой кнопкой мыши и выберите «Свойства», чтобы открыть диалоговое окно «Свойства проекта».

Слева находится элемент «Фасеты проекта», выберите его, найдите в списке фасет Java, выберите версию, которую вы хотите использовать для проекта, и примените.

Проект Factes - версия Java


19
Project Facet-> Java должен совпадать с тем, что есть в файле pom.xml для источника и цели артефакта maven-compiler-plugin.
Арье Розенштейн

4
Основной причиной этой проблемы должен быть ответ, предоставленный @VineetReynolds
Джерри Тиан

4
У меня есть эта проблема, и, похоже, это проблема maven, но я не использую maven, у меня нет файла POM, и я даже не уверен, что у меня есть плагин maven. Все же я получаю ту же самую ошибку; мое затмение настроено на использование Java 1.7, но страница с фасетом моего проекта позволит мне выбрать только 1.6. Что я делаю не так?
rjcarr

7
Четыре вещи должны соответствовать 1) Проект-> Путь сборки Java-> Библиотеки-> Версия JRE 2) Проект-> Компилятор Java-> Уровень соответствия компилятора 3) Проект-> Фасеты проекта-> Java-> Версия 4) (если используется Maven ) pom.xml - источник и цель артефакта maven-compiler-plugin
bigleftie

1
Я второй @TK Господинов отвечу. мой pom был современным с версией Java, но виновником был аспект проекта.
Соман Дубей

18

Т. К. Господинов ответ правильный даже для мавеновских проектов. Осторожно: я использую Maven. Пом был прав и все еще получил эту проблему. Я пошел в «Project Facets» и фактически удалил выделение Java, которое указывало на 1.6, но мой проект использует 1.7. Справа на вкладке «Runtime» мне пришлось проверить опцию jdk1.7. Ничего не появилось слева даже после того, как я нажал «Применить». Однако проблема исчезла, поэтому я все еще думаю, что этот ответ важен для конкретной проблемы, связанной с «аспектами проекта». После того, как вы нажмете OK, если вернетесь к «аспектам проекта», вы заметите, что Java отображается как версия 1.7, так что теперь вы можете выбрать ее, чтобы убедиться, что проект «помечен» как проект Java. Мне также нужно было щелкнуть правой кнопкой мыши по проекту и выбрать Maven | Update Project.


6

Я решил эту проблему, установив версию Java в свойстве Project Facet в свойствах проекта, щелкните правой кнопкой мыши корневую папку проекта -> Properties, найдите Facets Project и выберите совместимую версию Java.

Для справки -

введите описание изображения здесь


5

Я изменил конфигурацию внутри workspace/project/.setting/org.eclipse.wst.common.project.facet.core:

installed facet="jst.web" version="2.5"
installed facet="jst.java" version="1.7"

Перед изменением конфига удалите проект из IDE. Это сработало для меня.


просто удалил проект из затмения и повторно импортировал исправил проблему.
Мохаммад Фейсал

5

Я разрешил его с помощью Myproject ---> Ресурс java ----> библиотеки -> J RE Системные библиотеки [java-1.6], щелкните по нему, перейдите к его « свойству », выберите «Classpath Container», измените среду выполнения на java- 1.8 (jdk1.8.0-35) (это самое последнее )

Измените JDK на последние


4

Project Facet-> Java должен совпадать с тем, что у вас есть в файле pom.xml для источника и цели артефакта maven-compiler-plugin. Это прекрасно. Но если у вас его здесь нет, вы также можете исправить это, сопоставив версию компилятора Java. в Porject-Facets из настройки: Eclispe-> Preferences-> Java-> Compiler



3

Щелкните правой кнопкой мыши по проекту и выберите свойства. Щелкните по java-компилятору слева и выберите нужную версию. Надеюсь, это поможет


2

В Eclipse щелкните правой кнопкой мыши свой проект, перейдите в Maven> Обновить проект. Подождите и ошибка исчезнет. Это уже правильно настроена версия Java для этого проекта.

введите описание изображения здесь


1

Если использовать затмение,

Под настройками нажмите org.eclipse.wst.common.project.facet.core.xml

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <installed facet="java" version="1.7"/>
</faceted-project>

Измените версию на правильную версию.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.