Ao executar um teste JUnit, usando o IntelliJ IDEA, recebo
Como posso corrigir isso?
- Usando o SDK 1.7
- O nível do idioma do módulo é 1,7
Maven build funciona bem. (É por isso que acredito nisso na questão de configuração do IDEA)
Ao executar um teste JUnit, usando o IntelliJ IDEA, recebo
Como posso corrigir isso?
Maven build funciona bem. (É por isso que acredito nisso na questão de configuração do IDEA)
Respostas:
Provavelmente você tem opções de compilador incorretas importadas do Maven aqui:
Verifique também as configurações da versão do bytecode ( destino ) do projeto e do módulo descritas na captura de tela.
Outros locais em que o nível do idioma de origem está configurado:
O nível de idioma padrão do Maven é 1,5 (5,0). Você verá esta versão como o nível de idioma do módulo na captura de tela acima.
Isso pode ser alterado usando a configuração do maven-compiler-plugin dentro de pom.xml
:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
ou
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
O IntelliJ IDEA respeitará essa configuração depois de reimportar o projeto Maven na janela da ferramenta Projetos Maven :
pom.xml
configuração de plug-in do compilador java pode especificar a versão Java que substituirá essa configuração na próxima vez que você fizer alterações no pom.xml (se a reimportação automática estiver ativada) ou reimportar o projeto manualmente.
Semelhante ao discutido abaixo para IntelliJ 13 e 14, mas com um nível extra no painel Configurações / Preferências: Configurações > Compilação, Execução, Implantação > Compilador > Compilador Java .
Nos IntelliJ 13 e 14, verifique as Configurações> Compilador> UI do Java Compiler para garantir que você não esteja direcionando uma versão diferente de bytecode em seu módulo.
No IntelliJ IDEA 14.1 a "versão de bytecode de destino" está em um local diferente.
A seguinte mudança funcionou para mim:
Arquivo> Configurações ...> Compilação, Execução, Implantação> Compilador> Compilador Java : altere a versão de bytecode de destino de 1,5 para 1,8
Você já olhou para a sua configuração de compilação? Se você usar o maven 3 e o JDK 7,
<build>
<finalName>SpringApp</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
...
</plugins>
...
</build>
Eu me deparei com isso e a correção era ir para Configurações do projeto> Módulos> clicar no módulo específico> guia Dependências. Percebi que o SDK do módulo ainda estava definido na versão 1.6, mudei para 1.7 e funcionou.
Modifique o arquivo de configuração do compilador do projeto no caminho a seguir e altere o 'target' para 1.7:
/project/.idea/compiler.xml
<bytecodeTargetLevel>
<module name="project-name" target="1.7" />
</bytecodeTargetLevel>
Eu o resolvi definindo o campo em branco:
Configurações> Compilador> Java Compiler> Versão do bytecode do projeto
Than IntelliJ usa a versão padrão do JDK.
De um momento para o outro, também recebi esse erro sem uma razão clara. Alterei todos os tipos de configurações no compilador / módulo etc. Mas, no final, recriei o projeto IntelliJ reimportando o projeto Maven e o problema foi resolvido. Eu penso que isto é um erro.
IntelliJ 12 129.961
Eu atingi isso depois de apenas uma pequena atualização do IntelliJ IDEA 14 para a v14.1. Para mim, alterar uma edição do pom superior / principal ajudou e depois clicou em reimportar o Maven (se não for automático).
Mas talvez seja o suficiente para clicar com o botão direito do mouse no (s) módulo (s) / agregado / módulo pai e no Maven -> Reimportar.
Se for um projeto Gradle, no seu arquivo build.gradle, procure as seguintes configurações:
sourceCompatibility = "xx"
targetCompatibility = "xx"
Para todos os sub-objetos, em seu arquivo build.gradle raiz, você pode colocar:
subprojects { project ->
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
}
Embora você possa definir manualmente os níveis de idioma em Idea> Configurações, se for um projeto Gradle, o Idea sincroniza automaticamente os arquivos .iml do módulo nas configurações da Gradle (testadas com o Idea 15+). Portanto, todas as alterações manuais são anuladas quando o gradle é atualizado.
Com base na documentação Gradle , se estes não estiverem configurados, a configuração atual da JVM será usada.
Eu encontrei outra maneira de encontrar esse erro. Você pode obtê-lo se estiver reorganizando sua estrutura de diretórios e um de seus poms estiver apontando para o pai antigo que não configura mais o javac (porque essa configuração foi movida para um nível intermediário). Se isso acontecer, o nível superior é padronizado para 1,5 e o pom de nível inferior, que se comporta mal, o herda.
Portanto, outra coisa a verificar quando você vê esse erro é que sua estrutura pom está correspondendo corretamente à sua estrutura de diretórios.
Se a construção do Maven funcionar bem, tente sincronizar a estrutura dos projetos Maven e IntelliJ IDEA.
Na janela da ferramenta Maven , clique no botão Atualizar . Ao pressionar esse botão, o IntelliJ IDEA analisa a estrutura do projeto na janela da ferramenta Maven.
Observe que isso pode não ajudar se você estiver usando a compilação EAP, pois o recurso de sincronização do Maven pode estar quebrado algumas vezes.
Verifique se a depuração correta está selecionada. Arquivo> Estrutura do Projeto
Selecione seu projeto e navegue até a guia Dependências. Selecione a dependência certa no menu suspenso ou crie uma nova.
Se todas as soluções anteriores não funcionaram para você (que foi o meu caso), você pode excluir os arquivos de configuração intellij:
Intellij irá regenerar novos mais tarde. No entanto, tenha cuidado, isso também excluirá toda a configuração intelectual feita no projeto (ou seja: configuração do modo de depuração, ...)