Usando o IntelliJ 12, tenho um projeto java e uso o maven com um pom.xml. Meu projeto está usando java8, mas parece que o nível de idioma padrão do projeto foi definido como 6 durante a importação do projeto.
Posso alterar o nível de idioma para 8.0 (F4 -> Módulos -> Nível de idioma), porém, toda vez que edito meu pom.xml, o nível do projeto volta para "usar o nível de idioma do projeto", e preciso editar essas configurações novamente e novamente.
Há algo que eu preciso adicionar ao pom.xml para definir o nível de idioma padrão como 8.0?
java
maven
intellij-idea
pom.xml
Quentin
fonte
fonte
Respostas:
De acordo com o comentário de Mark, aqui está como fazê-lo:
fonte
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
Uma versão mais curta da resposta de vikingsteve é:
fonte
Eu acho que isso tem a ver com um conflito conceitual entre o plug-in do compilador Maven e a idéia do IntelliJ. Aparentemente, as versões mais recentes do plug-in do compilador têm um nível padrão de 1,5 (consulte http://maven.apache.org/plugins/maven-compiler-plugin/ ). Portanto, se o plug-in do compilador for usado em um projeto e o nível do compilador não estiver definido explicitamente no pom.xml, sempre que o POM for reprocessado, o nível voltará ao padrão.
Portanto, há um conflito conceitual que é ignorado pelo Intellij IDEA. O IDE ainda permite definir as configurações do projeto e do módulo, mas não fornece nenhum aviso ou feedback de que essa configuração é controlada pelo pom.xml. As soluções seriam permitir explicitamente substituir a configuração do plug-in do compilador POM (talvez não seja sensato porque o que acontece quando você usa o maven na linha de comando) ou desativar os controles no IDE quando essa configuração do POM estiver em vigor.
A solução no momento é definir o nível do compilador desejado no plug-in do pom, a reimportação, em vez de tentar defini-lo nas configurações do módulo.
fonte
Estou atualizando um projeto do JDK 8 para o JDK 10+. Eu tinha as propriedades do compilador especificadas corretamente da seguinte maneira:
No entanto, o projeto Idea continuaria redefinindo o nível do idioma para 8.
Eventualmente, descobri que o processo de importação do Idea Maven estava usando o JDK 8 para importar o projeto que limitava o nível de idioma a <= 8.
Para corrigir , atualizei a propriedade 'JDK for importator' em Configurações -> Compilação, Execução, Implantação -> Ferramentas de compilação -> Maven -> Importação para usar o JDK 11.
fonte
Há duas maneiras de fazer isso: adicione uma delas no arquivo pom.xml:
Primeiro - Adicionar Propriedades
second- Add Plugin
Deixe-me saber se isso ajuda.
fonte
Nenhuma das soluções ajudou no meu caso. Eu não precisava especificar nenhuma versão Java no meu
pom.xml
.Eu precisava abrir o
<project-name>.iml
arquivo e alterar a versão do JDK lá.Original:
Atualizada:
Isso não faz nenhum sentido. Em nenhum momento eu especifiquei uma versão do JDK para Java 1.5.
fonte
Eu lutei bastante com esse problema, devido à criação de microsserviços com o Dropwizard. Eventualmente, descobri que minhas propriedades de construção estavam no arquivo pom errado (o serviço principal
pom.xml
).Portanto, mesmo que os outros pacotes sejam mais parecidos com bibliotecas , não pude usar a sintaxe do Java 8.
Quando refatorei o plug-in de compilação no
.pom.xml
arquivo "global" ", todos os contêineres filhos puderam usar a nova sintaxe.Pode ajudar alguém com problemas em projetos com vários contêineres
fonte
Para mim, a solução de atualização do POM (plugins mais propriedades) para a versão exigida do compilador Java (1_7 no meu caso) funcionou. No entanto, como o arquivo .iml para cada projeto foi gerado com o pom original (com a versão do compilador padrão de 1_5, conforme explicado por alguém acima), possui uma versão do JDK de 1_5, isso ainda substitui a versão do pom.
Excluí a pasta .idea manualmente e importei o módulo para o IntelliJ com uma reimportação do pom atualizado. Quando reimportei o módulo do POM atualizado, pude ver que os arquivos iml tinham a versão atualizada do JDK (1_7 no meu caso).
fonte
Havia uma etapa adicional que eu precisava seguir, além de definir as propriedades de construção do maven , adicionar o plug-in do compilador do maven e modificar a versão do Java no arquivo .iml . (cada um já documentado nas outras respostas). Você também precisa definir a versão do compilador nas configurações .
fonte