O nível do compilador Java não corresponde à versão da faceta do projeto Java instalada

203

Eu criei um Novo Projeto Dinâmico na versão Eclipse Helios, em que minha versão do JRE está definida como 1.6. Adicionei os recursos do Maven ao aplicativo da Web clicando em ConfigurarConverter em projeto do Maven .

Depois de adicionar isso, um erro de construção apareceu na visualização Problemas do Eclipse:

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

Diga-me como resolver esse erro (eu quero ter minha versão do JRE como apenas 1.6).

user974802
fonte
A resposta de Bigleftie me serviu bem para um projeto não-Maven.
Jack Mason
usuários do eclipse podem ler este journaldev.com/3334/…
Ahmad Nadeem

Respostas:

167

Supondo que você esteja usando o plugin m2e no Eclipse, será necessário especificar as versões sourcee targetcomo 1.6 para maven-compiler-plugin. O m2e usa esses valores para determinar o nível do compilador Java do projeto. Um trecho do POM é mostrado abaixo:

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

Como alternativa, você pode especificar as propriedades maven.compiler.sourcee maven.compiler.targetcom valores de 1,6, que são equivalentes:

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>
Vineet Reynolds
fonte
60
Você pode fazer isso: - Clique com o botão direito do mouse no seu projeto - Clique em Propriedades - Clique na opção "Facetas do projeto" no menu esquerdo - Na seção Facetas "Java" à direita, altere para "1.6", "1.7" ou version ... - Click Ok
Thiago Pereira
3
@ThiagoPereira Você perde essas alterações quando reimporta em um espaço de trabalho diferente. Aprenda como o m2e funciona.
Vineet Reynolds
usuários do eclipse podem ler journaldev.com/3334/…
Ahmad Nadeem
401

Se o seu projeto não for um projeto Maven, clique com o botão direito do mouse no projeto e escolha Propriedades para abrir a caixa de diálogo Propriedades do projeto.

Há um item de facetas do projeto à esquerda, selecione-o, procure a faceta Java na lista, escolha a versão que deseja usar para o projeto e aplique-a.

Fatos do Projeto - Versão Java

TK Gospodinov
fonte
19
O Project Facet-> Java deve corresponder ao que você possui no pom.xml para a origem e o destino do artefato do maven-compiler-plugin.
Arye Rosenstein #
4
A causa raiz do problema deve ser a resposta fornecida pelo @VineetReynolds
Jerry Tian
4
Eu tenho esse problema e parece que é um problema do tipo maven, mas não uso o maven, não tenho um arquivo POM e nem tenho certeza se tenho o plug-in do maven. No entanto, eu recebo esse mesmo erro; meu eclipse está configurado para usar java 1.7, mas a página de faceta do meu projeto só me permite escolher 1.6. O que estou fazendo de errado?
Rjcarr 13/03
7
Quatro coisas devem corresponder 1) Projeto-> Caminho de Construção Java-> Bibliotecas-> JRE versão 2) Projeto-> Java Compiler-> Nível de Conformidade do Compilador 3) Projeto-> Facetas do Projeto-> Java-> Versão 4) (se estiver usando o Maven ) POM - maven-compilador de encaixe fonte artefacto e alvo
bigleftie
1
Eu segundo @TK Gospodinov responder. meu pom estava atualizado com a versão Java, mas a faceta do projeto era a culpada.
Soman Dubey
18

A resposta de TK Gospodinov está correta, mesmo em projetos de mal-intencionados. Cuidado: eu uso o Maven. O pom estava correto e ainda recebia esse problema. Eu fui para "Project Facets" e realmente removi a seleção Java que estava apontando para 1.6, mas meu projeto está usando 1.7. À direita na guia "Runtimes", tive que verificar a opção jdk1.7. Nada apareceu à esquerda, mesmo depois de clicar em "Aplicar". Embora a questão tenha desaparecido, é por isso que ainda acho que essa resposta é importante para a questão específica "Facetas do projeto". Depois de clicar em OK, se você retornar às "Facetas do projeto", notará que o Java aparece na versão 1.7. Agora, você pode selecioná-lo para garantir que o projeto seja "marcado" como um projeto Java. Eu também precisava clicar com o botão direito do mouse no projeto e selecionar Maven | Atualizar projeto.

Nestor Urquiza
fonte
6

Resolvi esse problema definindo a versão java na propriedade Faceta do projeto das propriedades do projeto. Clique com o botão direito do mouse na pasta raiz do projeto -> Propriedades, procure facetas do projeto e selecione a versão java compatível.

Para referência -

insira a descrição da imagem aqui

Trabalhador autonomo
fonte
5

Alterei a configuração interna workspace/project/.setting/org.eclipse.wst.common.project.facet.corepara:

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

Antes de alterar a configuração, remova o projeto do IDE. Isso funcionou para mim.

thedheeraz
fonte
acabou de remover o projeto do eclipse e reimportou o problema.
Mohammad Faisal
5

Eu o resolvi com o Myproject ---> java Resource ----> libraries -> J RE System Libraries [java-1.6] clique nele, vá para sua " propriedade ", selecione "Classpath Container" altere o ambiente de execução para java- 1.8 (jdk1.8.0-35) ( mais recente )

Altere o jdk para o mais recente

RishiKesh Pathak
fonte
4

O Project Facet-> Java deve corresponder ao que você possui no pom.xml para a fonte e o destino do artefato do maven-compiler-plugin. Isso é perfeito. Mas se você não o tiver aqui, também poderá corrigi-lo combinando a versão do compilador Java em Porject-Facets na configuração: Eclispe-> Preferências-> Java-> Compilador

user3925215
fonte
4

Você pode alterar a faceta do projeto em Projeto -> Propriedades -> Faceta do projeto -> Java -> {versão requerida do JDK}

Anant Laxmikant Bobde
fonte
3

Clique com o botão direito do mouse no projeto e selecione Propriedades. Clique no compilador java da esquerda e mude para a versão necessária. Espero que isso ajude

Rafael
fonte
2

No Eclipse, clique com o botão direito do mouse em seu projeto, vá para Maven> Atualizar projeto. Aguarde e o erro desaparecerá. Isso já está configurado corretamente a versão do Java para este projeto.

insira a descrição da imagem aqui

Danilo Lira
fonte
1

Se estiver usando eclipse,

Under.settings clique em 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>

Mude a versão para a versão correta.

ADL
fonte