Le niveau du compilateur Java ne correspond pas à la version de la facette de projet Java installée

203

J'ai créé un nouveau projet dynamique sous la version Eclipse Helios, où ma version JRE est définie sur 1.6. J'ai ajouté des fonctionnalités Maven à l'application Web en cliquant sur ConfigurerConvertir en projet Maven .

Après avoir ajouté cela, une erreur de génération est apparue dans la vue Problèmes Eclipse:

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

Veuillez me dire comment résoudre cette erreur (je souhaite que ma version JRE soit 1.6 uniquement).

user974802
la source
La réponse de Bigleftie m'a bien servi pour un projet non Maven.
Jack Mason
Les utilisateurs d'éclipse peuvent lire ce journal
Ahmad Nadeem

Réponses:

167

En supposant que vous utilisez le plugin m2e dans Eclipse, vous devrez spécifier les versions sourceet targetcomme 1.6 pour maven-compiler-plugin. m2e utilise ces valeurs pour déterminer le niveau du compilateur Java du projet. Un extrait du POM est illustré ci-dessous:

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

Alternativement, vous pouvez spécifier les propriétés maven.compiler.sourceet maven.compiler.targetavec des valeurs de 1,6, qui se trouvent être l'équivalent:

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>
Vineet Reynolds
la source
61
Pouvez-vous le faire: - Faites un clic droit sur votre projet - Cliquez sur Propriétés - Cliquez sur l'option "Facettes du projet" dans le menu de gauche - Sous la section Facettes "Java" à droite, changez-le en "1.6", "1.7" ou votre version ... - Cliquez sur Ok
Thiago Pereira
3
@ThiagoPereira Vous perdez ces modifications lorsque vous réimportez dans un autre espace de travail. Apprenez comment fonctionne m2e.
Vineet Reynolds
les utilisateurs d'éclipse peuvent lire journaldev.com/3334/…
Ahmad Nadeem
401

Si votre projet n'est pas un projet Maven, cliquez avec le bouton droit sur votre projet et choisissez Propriétés pour ouvrir la boîte de dialogue Propriétés du projet.

Il y a un élément Project Facets sur la gauche, sélectionnez-le, recherchez la facette Java dans la liste, choisissez la version que vous souhaitez utiliser pour le projet et appliquez.

Faits sur le projet - version Java

TK Gospodinov
la source
19
Le Project Facet-> Java doit correspondre à tout ce que vous avez dans le pom.xml pour la source et la cible de l'artefact maven-compiler-plugin.
Arye Rosenstein
4
La cause première de ce problème devrait être la réponse fournie par @VineetReynolds
Jerry Tian
4
J'ai ce problème, et il semble que ce soit un problème avec Maven, mais je n'utilise pas Maven, je n'ai pas de fichier POM et je ne suis même pas sûr d'avoir le plugin Maven. Pourtant, je reçois cette même erreur; mon éclipse est configurée pour utiliser java 1.7 mais la page facette de mon projet ne me laissera que choisir 1.6. Qu'est-ce que je fais mal?
rjcarr
7
Quatre choses doivent correspondre 1) Projet-> Chemin de génération Java-> Bibliothèques-> JRE version 2) Projet-> Compilateur Java-> Niveau de conformité du compilateur 3) Projet-> Facettes du projet-> Java-> Version 4) (si vous utilisez Maven ) pom.xml - source et cible de l'artefact maven-compiler-plugin
bigleftie
1
Je seconde la réponse @TK Gospodinov. mon pom était à jour avec la version Java mais la facette du projet était le coupable.
Soman Dubey
18

La réponse de TK Gospodinov est correcte même pour les projets Maven. Attention: j'utilise Maven. Le pom était correct et a toujours ce problème. Je suis allé dans "Project Facets" et j'ai supprimé la sélection Java qui pointait vers 1.6 mais mon projet utilise 1.7. Sur la droite de l'onglet "Runtimes", j'ai dû cocher l'option jdk1.7. Rien n'est apparu sur la gauche même après avoir cliqué sur "Appliquer". Le problème a disparu, c'est pourquoi je pense toujours que cette réponse est importante pour le problème spécifique lié aux "Facettes du projet". Après avoir cliqué sur OK si vous revenez à "Project Facets", vous remarquerez que Java apparaît en tant que version 1.7, vous pouvez donc le sélectionner pour vous assurer que le projet est "marqué" en tant que projet Java. J'ai également dû cliquer avec le bouton droit sur le projet et sélectionner Maven | Mettre à jour le projet.

Nestor Urquiza
la source
6

J'ai résolu ce problème en définissant la version java dans la propriété Project Facet des propriétés du projet, cliquez avec le bouton droit sur le dossier racine du projet -> Propriétés, recherchez Project Facets et sélectionnez la version java compatible.

Pour référence -

entrez la description de l'image ici

Pigiste
la source
5

J'ai changé la configuration à l'intérieur workspace/project/.setting/org.eclipse.wst.common.project.facet.corepour:

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

Avant de modifier la configuration, supprimez le projet de l'EDI. Cela a fonctionné pour moi.

thedheeraz
la source
vient de supprimer le projet d'Eclipse et de réimporter résolu le problème.
Mohammad Faisal
5

Je l'ai résolu par Myproject ---> java Resource ----> bibliothèques -> J RE System Libraries [java-1.6] cliquez dessus pour aller dans sa " propriété " sélectionnez "Classpath Container" changez l' environnement d'exécution en java- 1.8 (jdk1.8.0-35) (c'est la dernière )

Changez le jdk en dernier

RishiKesh Pathak
la source
4

La facette du projet-> Java doit correspondre à tout ce que vous avez dans le pom.xml pour la source et la cible de l'artefact maven-compiler-plugin.C'est parfait.Mais si vous ne l'avez pas ici, vous pouvez également le corriger en faisant correspondre la version du compilateur Java dans Porject-Facets à partir du paramètre: Eclispe-> Préférences-> Java-> Compilateur

user3925215
la source
4

Vous pouvez modifier la facette du projet dans Projet -> Propriétés -> Facette du projet -> Java -> {version JDK requise}

Anant Laxmikant Bobde
la source
3

Cliquez avec le bouton droit sur le projet et sélectionnez les propriétés Cliquez sur le compilateur java à partir de la gauche et passez à la version requise J'espère que cela vous aidera

Raphael
la source
2

Dans Eclipse, faites un clic droit sur votre projet, allez dans Maven> Mettre à jour le projetc. Attendez et l'erreur disparaîtra. Ceci est déjà configuré correctement la version de Java pour ce projet.

entrez la description de l'image ici

Danilo Lira
la source
1

Si vous utilisez Eclipse,

Sous.paramètres, cliquez sur 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>

Remplacez la version par la version correcte.

ADL
la source