Сообщение об ошибке «Проблема с гранями проекта (несоответствие версий Java)» - PullRequest
70 голосов
/ 10 февраля 2010

На вкладке «Проблемы» в Eclipse отображается эта ошибка:

Описание: уровень компилятора Java не соответствует версии установленного фасета проекта Java.
Ресурс: группировка
Путь: [пусто]
Расположение: Неизвестно
Тип: проблема граненого проекта (несоответствие версий Java)

My pom.xml имеет эту настройку:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
</plugins>

Где еще могут не совпадать настройки?

Ответы [ 5 ]

142 голосов
/ 10 февраля 2010

Проверяли ли вы панель Project Properties -> Project Facets? (Из этого поста )

Проект WTP состоит из нескольких функциональных блоков (известных как фасеты).

Фасетная версия Java всегда должна соответствовать компилятору java уровень.
Лучший способ изменить уровень Java - это использовать аспекты проекта панель свойств как таковая обновит оба места одновременно.

WTP

"Project->Preferences->Project Facets" сохраняет свою конфигурацию в этом файле "org.eclipse.wst.common.project.facet.core.xml" в каталоге ".settings".

Контент может выглядеть следующим образом

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <runtime name="WebSphere Application Server v6.1"/>
  <fixed facet="jst.java"/>
  <fixed facet="jst.web"/>
  <installed facet="jst.java" version="5.0"/>
  <installed facet="jst.web" version="2.4"/>
  <installed facet="jsf.ibm" version="7.0"/>
  <installed facet="jsf.base" version="7.0"/>
  <installed facet="web.jstl" version="1.1"/>
</faceted-project>

Проверьте также свой уровень соответствия Java :

Java compliance level

42 голосов
/ 10 февраля 2010

У вас есть два варианта решения проблемы:

1- Убедитесь, что обе версии совпадают.
2- Используйте помощь IDE следующим образом:
- Щелкните правой кнопкой мыши на ошибке в представлении «Проблемы»
- Выберите пункт меню «Быстрое исправление» во всплывающем меню
- Выберите нужный уровень компилятора в предоставленном диалоговом окне и нажмите «Готово».

Взято из Затмение: несоответствие уровня компилятора Java и фасета проекта

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

21 голосов
/ 10 февраля 2010

Фасеты проекта должны быть получены автоматически с помощью плагина M2Eclipse из конфигурации POM. Если вы вносите какие-либо изменения в POM и нуждаетесь в Eclipse, чтобы учесть их, щелкните правой кнопкой мыши в своем проекте, а затем перейдите к Maven> Обновить конфигурацию проекта . Не следует устанавливать фасеты проекта вручную.

0 голосов
/ 14 марта 2018

Я столкнулся с этой проблемой при запуске приложения на Java 1.6, в то время как у меня есть все три версии Java 6,7,8 для разных приложений. Я получил доступ к представлению навигатора и вручную удалил нежелательный фасет из facet.core.xml.Чистая сборка и валлах!

<?xml version="1.0" encoding="UTF-8"?>

<fixed facet="jst.java"/>

<fixed facet="jst.web"/>

<installed facet="jst.web" version="2.4"/>

<installed facet="jst.java" version="6.0"/>

<installed facet="jst.utility" version="1.0"/>

0 голосов
/ 09 мая 2016

В Spring STS щелкните правой кнопкой мыши проект и выберите « Открыть проект ». Это положение выполняет необходимые действия в фоновом режиме и возвращает проект в рабочее пространство.

Спасибо и С уважением Венгат Маран

...