Apesar de especificar o JDK 1.7 em todas as configurações do projeto (inclusive em File -> Project Structure -> Project :: Project SDK
), o seguinte erro é produzido IntelliJ 13
ao tentar compilar algum código Java 7 simples que usa o operador diamond:
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
Existe algum outro lugar na configuração em que a -source 7
opção esperada deve ser ativada?
File -> Project Structure -> Project :: Project language level
mudar paraDiamonds, ARM, multi-catch etc
?Respostas:
Se nada disso ajudar (no meu caso), você pode configurá-lo no seu pom.xml, assim:
Como esse cara legal mencionado aqui: https://stackoverflow.com/a/25888116/1643465
fonte
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
Fórum de suporte InteliJVerifique os níveis de idioma do seu projeto / módulo (Estrutura do projeto | Projeto; Estrutura do projeto | Módulos | nome do módulo | Fontes). Você também pode querer dar uma olhada em Configurações | Compilador Compilador Java | Versão de bytecode por módulo.
Defina também este:
Arquivo -> Estrutura do projeto -> Módulos :: Fontes (ao lado de Caminhos e dependências) e que possui uma opção "Nível de idioma" que também precisa ser definida corretamente.
fonte
Additional command line parameters
emJava Compiler
configurações está em branco.[Para IntelliJ IDEA 2016.2]
Gostaria de expandir parte da resposta de Peter Gromov com uma captura de tela atualizada. Especificamente esta parte específica:
Acredito que (pelo menos em 2016.2): verificar diferentes commits em
git
redefine-os para 1,5.fonte
git checkout
). Eu descobri que era capaz de excluir com segurança as entradas desta lista; o módulo volta a usar "Versão do bytecode do projeto".Como alternativa, você pode aplicar o maven-compiler-plugin com a versão java apropriada, adicionando-o ao seu pom.xml:
fonte
Tentei fazer alterações no Intellij IDEA como abaixo:
1
2)
mas nada funcionou, ele reverteu as versões para o java 1.5 assim que eu o salvei.
No entanto, adicionar linhas abaixo à raiz (nível do projeto) pom.xml me ajudou a resolver o problema acima: (ambas as opções funcionaram para mim)
Opção 1:
Opção 2:
fonte
Arquivo-> Estrutura do Projeto-> Configurações do Projeto-> Projeto-> Nível do Idioma do Projeto
Arquivo-> Estrutura do Projeto-> Configurações do Projeto-> Módulos-> Nível do Idioma
Alterar nível usando o menu suspenso
fonte
Na sua linha de comando (terminal Unix) Vá para a pasta raiz do projeto e faça isso
Isso mudará a propriedade no nível do idioma em todos os arquivos .iml do seu projeto, de java 1.5 para java 1.8.
fonte
compiler.xml
raiz do projeto (IntelliJ 2017.2):sed 's/target="1.5"/target="1.8"/g' .idea/compiler.xml
Primeiro, você precisa alterar a "versão do bytecode do projeto" em
File > Settings
,Compiler > Java Compiler
Segundo, faça uma reconstrução completa.
fonte
Eu tenho o mesmo problema, mas com situação diferente. Posso compilar sem problemas com o maven na linha de comando (
mvn clean install
), mas no Intellij sempre recebi um"java: diamond operator is not supported in -source 1.5"
erro de compilação, apesar de ter definido o maven-compiler-plugin com o java 1.8 no pom.xml.Acontece que eu tenho uma configuração de repositório remoto no settings.xml do meu maven, do qual o projeto depende, mas Intellij usa seu próprio maven, que não tem a mesma configuração do maven local.
Portanto, minha solução foi alterar a configuração do maven do Intellij (
Settings -> Build, execution, Deployment -> Maven -> Maven home directory
) para usar o maven local.fonte
No IntelliJ Community Edition 2019.02, a alteração das seguintes configurações funcionou para mim
Atualize Arquivo-> Estrutura do projeto-> Configurações do projeto-> Projeto-> Nível da linguagem do projeto para Java 11 (atualize para a versão java que você deseja usar no seu projeto) usando o menu suspenso.
Atualizar Arquivo-> Estrutura do Projeto-> Configurações do Projeto-> Módulos-> Nível do Idioma
Atualize Arquivo-> Configurações-> Compilação, Execução, Implantação -> Compilador -> Compilador Java-> Versão do ByteCode do Projeto para java 11.
Atualize a versão de destino para todas as entradas em Arquivo-> Configurações-> Compilar, Execução, Implantação -> Compilador -> Compilador Java-> Por módulo Versão do código de bytes.
fonte
Eu tinha a seguinte propriedade trabalhando para mim no IntelliJ 2017
fonte
Mais uma coisa que pode causar isso é ter incorreto
version
no<parent>
projeto.No meu caso, ele estava apontando para um projeto inexistente e, por algum motivo, o IntelliJ rebaixou a versão nas configurações para 1.5 e mais tarde, quando eu o corrigi, ainda estava interpretando a versão do código de destino como 5 (apesar de defini-la como 11).
fonte