Poziom kompilatora Java nie odpowiada wersji zainstalowanego aspektu projektu Java

202

Utworzyłem nowy projekt dynamiczny w wersji Eclipse Helios, w której moja wersja JRE jest ustawiona na 1.6. Dodałem możliwości Maven do aplikacji sieci Web, klikając KonfigurujKonwertuj na Maven Project .

Po dodaniu tego pojawił się błąd kompilacji w widoku Problemy z Eclipse:

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

Proszę mi powiedzieć, jak rozwiązać ten błąd (chcę, aby moja wersja JRE była tylko w wersji 1.6).

użytkownik974802
źródło
Odpowiedź Bigleftie dobrze mi pomogła przy projekcie innym niż Maven.
Jack Mason
Użytkownicy zaćmienia mogą przeczytać ten dziennikaldev.com/3334/…
Ahmad Nadeem
Możliwe duplikaty komunikatu o błędzie „
Faceted

Odpowiedzi:

166

Zakładając, że używasz wtyczki m2e w środowisku Eclipse, musisz określić wersje sourcei targetdla 1.6 maven-compiler-plugin. m2e używa tych wartości do określenia poziomu kompilatora Java projektu. Fragment POM pokazano poniżej:

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

Alternatywnie możesz określić właściwości maven.compiler.sourcei maven.compiler.targetz wartościami 1.6, które są równoważne:

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>
Vineet Reynolds
źródło
60
Czy możesz to zrobić: - Kliknij projekt prawym przyciskiem myszy - Kliknij Właściwości - Kliknij opcję „Aspekty projektu” w menu po lewej stronie - W sekcji Aspekty „Java” po prawej stronie zmień ją na „1.6”, „1.7” lub wersja ... - Kliknij Ok
Thiago Pereira
3
@ThiagoPereira Tracisz te zmiany, kiedy ponownie importujesz w innym obszarze roboczym. Dowiedz się, jak działa m2e.
Vineet Reynolds,
użytkownicy zaćmienia mogą przeczytać journaldev.com/3334/…
Ahmad Nadeem
400

Jeśli twój projekt nie jest projektem Maven, kliknij prawym przyciskiem myszy swój projekt i wybierz Właściwości, aby otworzyć okno dialogowe Właściwości projektu.

Po lewej stronie jest element Aspekty projektu, wybierz go, poszukaj aspektu Java na liście, wybierz wersję, której chcesz użyć dla projektu i zastosuj.

Fakty dotyczące projektu - wersja Java

TK Gospodinov
źródło
19
Project Facet-> Java powinien pasować do tego, co masz w pliku pom.xml dla źródła i celu artefaktu maven-kompilatora-wtyczki.
Arye Rosenstein
4
Podstawową przyczyną tego problemu powinna być odpowiedź udzielona przez @VineetReynolds
Jerry Tian
4
Mam ten problem i wygląda na to, że jest to problem z maven, ale nie używam maven, nie mam pliku POM i nawet nie jestem pewien, czy mam wtyczkę maven. Jednak dostaję ten sam błąd; moje zaćmienie jest skonfigurowane do używania Java 1.7, ale strona aspektu mojego projektu pozwoli mi wybrać tylko 1.6. Co ja robię źle?
rjcarr
7
Cztery rzeczy muszą się zgadzać 1) Projekt-> Ścieżka kompilacji Java-> Biblioteki-> Wersja JRE 2) Projekt-> Kompilator Java-> Poziom zgodności kompilatora 3) Projekt-> Aspekty projektu-> Java-> Wersja 4) (jeśli używasz Maven ) pom.xml - źródło i cel artefaktu maven-kompilator-wtyczka
bigleftie
1
I druga odpowiedź @TK Gospodinov. mój pom był na bieżąco z wersją Java, ale winowajcą był aspekt projektu.
Soman Dubey,
18

Odpowiedź TK Gospodinov jest poprawna nawet dla projektów maven. Uwaga: używam Maven. Pom był poprawny i nadal występuje ten problem. Poszedłem do „Project Facets” i faktycznie usunąłem zaznaczenie Java, które wskazywało na 1.6, ale mój projekt używa 1.7. Po prawej stronie w zakładce „Runtimes” musiałem sprawdzić opcję jdk1.7. Nic nie pojawiło się po lewej, nawet po kliknięciu „Zastosuj”. Problem zniknął, dlatego nadal uważam, że ta odpowiedź jest ważna w konkretnym problemie związanym z „aspektami projektu”. Po naciśnięciu OK, jeśli wrócisz do „Aspekty projektu”, zauważysz, że Java pojawia się jako wersja 1.7, więc możesz go teraz wybrać, aby upewnić się, że projekt jest „oznaczony” jako projekt Java. Musiałem także kliknąć projekt prawym przyciskiem myszy i wybrać Maven | Update Project.

Nestor Urquiza
źródło
6

Rozwiązałem ten problem, ustawiając wersję java we właściwości Facet projektu właściwości projektu, kliknij prawym przyciskiem myszy folder główny projektu -> Właściwości, wyszukaj aspekty projektu i wybierz kompatybilną wersję Java.

Na przykład -

wprowadź opis zdjęcia tutaj

Wolny strzelec
źródło
5

Zmieniłem konfigurację wewnątrz workspace/project/.setting/org.eclipse.wst.common.project.facet.corena:

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

Przed zmianą konfiguracji usuń projekt z IDE. To zadziałało dla mnie.

thedheeraz
źródło
właśnie usunąłem projekt z zaćmienia i ponownie zaimportowałem naprawiłem problem.
Mohammad Faisal
5

Rozwiązałem go przez Myproject ---> java Resource ----> biblioteki -> J RE System Libraries [java-1.6] kliknij na to przejście do jego „ właściwości ” wybierz „Classpath Container” zmień środowisko wykonywania na java- 1.8 (jdk1.8.0-35) (to jest najnowsze )

Zmień jdk na najnowszy

RishiKesh Pathak
źródło
4

Project Facet-> Java powinien pasować do tego, co masz w pliku pom.xml dla źródła i celu artefaktu maven-kompilatora-wtyczki. Jest to idealne rozwiązanie, ale jeśli go nie masz, możesz to naprawić, dopasowując wersję kompilatora Java w Porject-Facets z ustawienia: Eclispe-> Preferencje-> Java-> Kompilator

użytkownik3925215
źródło
4

Możesz zmienić aspekt projektu z Project -> Właściwości -> Project Facet -> Java -> {wymagana wersja JDK}

Anant Laxmikant Bobde
źródło
3

Kliknij projekt prawym przyciskiem myszy i wybierz właściwości Kliknij kompilator Java po lewej stronie i zmień na wymaganą wersję. Mam nadzieję, że to pomoże

Raphael
źródło
2

W Eclipse kliknij prawym przyciskiem myszy swój projekt, przejdź do Maven> Aktualizuj projetc. Poczekaj, a błąd zniknie. Jest to już poprawnie skonfigurowana wersja Java dla tego projektu.

wprowadź opis zdjęcia tutaj

Danilo Lira
źródło
1

Jeśli używasz Eclipse,

Under.settings kliknij 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>

Zmień wersję na poprawną.

ADL
źródło