Die Java-Compilerebene stimmt nicht mit der Version der installierten Java-Projektfacette überein


202

Ich habe unter Eclipse Helios Version ein neues dynamisches Projekt erstellt, in dem meine JRE-Version auf 1.6 festgelegt ist. Ich habe der Webanwendung Maven-Funktionen hinzugefügt, indem ich auf Konfigurieren → In Maven-Projekt konvertieren geklickt habe .

Nach dem Hinzufügen wurde in der Ansicht "Eclipse-Probleme" ein Erstellungsfehler angezeigt:

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

Bitte sagen Sie mir, wie ich diesen Fehler beheben kann (ich möchte meine JRE-Version nur als 1.6 haben).


Biglefties Antwort hat mir bei einem Nicht-Maven-Projekt gute Dienste geleistet.
Jack Mason

Eclipse-Benutzer können diese journaldev.com/3334/…
Ahmad Nadeem

Antworten:


166

Angenommen, Sie verwenden das m2e-Plugin in Eclipse, müssen Sie die sourceund target-Versionen als 1.6 für angeben maven-compiler-plugin. m2e verwendet diese Werte, um die Java-Compilerebene des Projekts zu bestimmen. Ein Ausschnitt aus dem POM ist unten dargestellt:

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

Alternativ können Sie die Eigenschaften maven.compiler.sourceund maven.compiler.targetmit Werten von 1,6 angeben , die zufällig gleichwertig sind:

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

60
Können Sie dies tun: - Klicken Sie mit der rechten Maustaste auf Ihr Projekt - Klicken Sie auf Eigenschaften - Klicken Sie im linken Menü auf die Option "Projektfacetten". - Ändern Sie sie im Abschnitt "Java" auf der rechten Seite in "1.6", "1.7" oder "Ihr" Version ... - Klicken Sie auf OK
Thiago Pereira

3
@ThiagoPereira Sie verlieren diese Änderungen, wenn Sie sie erneut in einen anderen Arbeitsbereich importieren. Erfahren Sie, wie m2e funktioniert.
Vineet Reynolds

Eclipse-Benutzer können journaldev.com/3334/…
Ahmad Nadeem

400

Wenn Ihr Projekt kein Maven-Projekt ist, klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie Eigenschaften, um das Dialogfeld Projekteigenschaften zu öffnen.

Links befindet sich ein Element für Projektfacetten. Wählen Sie es aus, suchen Sie in der Liste nach der Java-Facette, wählen Sie die Version aus, die Sie für das Projekt verwenden möchten, und wenden Sie sie an.

Projekt Fakten - Java-Version


19
Die Projektfacette-> Java sollte mit dem übereinstimmen, was Sie in der Datei pom.xml für die Artefaktquelle und das Ziel des Maven-Compiler-Plugins haben.
Arye Rosenstein

4
Die Hauptursache für dieses Problem sollte die Antwort von @VineetReynolds
Jerry Tian

4
Ich habe dieses Problem und es klingt wie ein Maven-Problem, aber ich verwende kein Maven, ich habe keine POM-Datei und ich bin mir nicht einmal sicher, ob ich das Maven-Plugin habe. Trotzdem bekomme ich den gleichen Fehler. Meine Eclipse ist für die Verwendung von Java 1.7 eingerichtet, aber auf der Facettenseite meines Projekts kann ich nur 1.6 auswählen. Was mache ich falsch?
rjcarr

7
Vier Dinge müssen übereinstimmen: 1) Projekt-> Java-Erstellungspfad-> Bibliotheken-> JRE-Version 2) Projekt-> Java-Compiler-> Compiler-Konformitätsstufe 3) Projekt-> Projektfacetten-> Java-> Version 4) (bei Verwendung von Maven) ) pom.xml - Quelle und Ziel des Artefakts Maven-Compiler-Plugin
Bigleftie

1
Ich zweite @TK Gospodinov Antwort. Mein Pom war mit der Java-Version auf dem neuesten Stand, aber die Projektfacette war der Schuldige.
Soman Dubey

17

Die Antwort von TK Gospodinov ist auch für Maven-Projekte richtig. Achtung: Ich benutze Maven. Der Pom war korrekt und bekam immer noch dieses Problem. Ich ging zu "Projektfacetten" und entfernte tatsächlich die Java-Auswahl, die auf 1.6 zeigte, aber mein Projekt verwendet 1.7. Rechts auf der Registerkarte "Runtimes" musste ich die Option jdk1.7 aktivieren. Links wurde nichts angezeigt, selbst nachdem ich auf "Übernehmen" geklickt habe. Das Problem ist jedoch verschwunden, weshalb ich immer noch denke, dass diese Antwort für das spezifische Problem im Zusammenhang mit "Projektfacetten" wichtig ist. Nachdem Sie auf "Projektfacetten" geklickt haben, werden Sie feststellen, dass Java als Version 1.7 angezeigt wird. Sie können es nun auswählen, um sicherzustellen, dass das Projekt als Java-Projekt "markiert" ist. Ich musste auch mit der rechten Maustaste auf das Projekt klicken und Maven | Projekt aktualisieren auswählen.


6

Ich habe dieses Problem behoben, indem ich die Java-Version in der Project Facet-Eigenschaft der Projekteigenschaften festgelegt habe. Klicken Sie mit der rechten Maustaste auf den Projektstammordner -> Eigenschaften, suchen Sie nach Project Facets und wählen Sie eine kompatible Java-Version aus.

Als Referenz -

Geben Sie hier die Bildbeschreibung ein


5

Ich habe die Konfiguration geändert workspace/project/.setting/org.eclipse.wst.common.project.facet.corein:

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

Entfernen Sie das Projekt aus der IDE, bevor Sie die Konfiguration ändern. Das hat bei mir funktioniert.


Das Projekt wurde gerade aus Eclipse entfernt und erneut importiert. Das Problem wurde behoben.
Mohammad Faisal

5

Ich habe es durch Myproject aufgelöst ---> Java-Ressource ----> Bibliotheken -> J RE- Systembibliotheken [Java-1.6] Klicken Sie darauf, um zu seiner " Eigenschaft " zu gelangen. Wählen Sie "Klassenpfad-Container". Ändern Sie die Ausführungsumgebung in Java. 1,8 (jdk1.8.0-35) (das ist das Neueste )

Ändern Sie den JDK auf den neuesten Stand


4

Die Projektfacette-> Java sollte mit dem übereinstimmen, was Sie in der pom.xml für die Artefaktquelle und das Ziel des Maven-Compiler-Plugins haben. Dies ist perfekt. Wenn Sie es hier nicht haben, können Sie es auch beheben, indem Sie die Java-Compilerversion anpassen in Porject-Facetten aus der Einstellung: Eclispe-> Einstellungen-> Java-> Compiler


4

Sie können die Projektfacette unter Projekt -> Eigenschaften -> Projektfacette -> Java -> {erforderliche JDK-Version} ändern.


3

Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften aus. Klicken Sie von links auf den Java-Compiler und wechseln Sie zu Ihrer gewünschten Version. Ich hoffe, dies hilft


2

Klicken Sie in Eclipse mit der rechten Maustaste auf Ihr Projekt und gehen Sie zu Maven> Projekt aktualisieren. Warten Sie und der Fehler wird verschwinden. Damit ist die Java-Version für dieses Projekt bereits richtig konfiguriert.

Geben Sie hier die Bildbeschreibung ein


1

Wenn Sie Eclipse verwenden,

Klicken Sie unter Einstellungen auf 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>

Ändern Sie die Version in die richtige Version.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.