Eu estava testando alguns novos recursos do Java 8 e copiei o exemplo no meu IDE (Eclipse originalmente, depois IntelliJ), como mostrado aqui
O Eclipse não ofereceu nenhum suporte para expressões lambda e o IntelliJ continuou relatando um erro
Expressões lambda não suportadas neste nível de idioma
Gostaria de saber se esse é um problema com minha instalação, o código ou o suporte.
java
intellij-idea
lambda
java-8
Czipperz
fonte
fonte
Respostas:
No IntelliJ IDEA:
Em
File Menu
→Project Structure
→Project
, mudeProject Language Level
para8.0 - Lambdas, type annotations etc.
Para Android 3.0+, vá
File
→Project Structure
→Module
→app
e na guia Propriedades, definaSource Compatibility
eTarget Compatibility
para1.8 (Java 8)
Captura de tela:
fonte
File Menu → Project Structure → Modules
, mas, por padrão, será o mesmo que o nível de idioma do Projeto.android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
File
->Project Structure
->Module you want to support lambdas
e defina Compatibilidade de Origem e Compatibilidade de Destino como 1,8Você deve alterar o nível de idioma do código-fonte também na guia Origem (parte de Módulos).
fonte
Esta solução funciona no Android Studio 3.0 ou posterior.
Alterar ambos
Source Compatibility
eTarget Compatibility
para1.8
Você também pode configurá-lo diretamente no arquivo build.gradle correspondente
fonte
Para intellij 13, basta alterar o nível de idioma do projeto para
8.0
a seguinte navegação.Nível do módulo
Eu também tive que atualizar
Modules lang level
quando não havia nenhum plugin para o mavenjava compiler
.Mas isso
Module lang level
seria corrigido automaticamente se já houver ummaven plugin
para isso,Depois das alterações, tudo fica bem
fonte
No Android studio canary build (3. +), você pode fazer o seguinte:
Arquivo -> Estrutura do projeto -> Procure na seção Módulos, existem nomes de módulos da sua classe. Clique no módulo no qual você deseja atualizar o java para a versão 1.8. -> Altere "Compatibilidade de origem" e "Compatibilidade de destino" para 1,8 de 1,7 ou inferior. Não mude mais nada. -> Clique em Aplicar
agora o gradle será sincronizado novamente e seu erro será removido.
fonte
Basta adicionar
compileOptions
no build.gradle seu aplicativo:fonte
Para usuários mais recentes que usam o Android studio 3.0.1 ou superior. Basta clicar em Alt + Enter e atualizar o seu nível de idioma para 8.0 - Lambdas, digite anotações etc.
fonte
Se você está recebendo Não suportado no idioma 5 , verifique o seguinte: (Para mim, estava na seção Módulos )
fonte
7.0 não suporta expressões lambda. Basta adicionar isso ao seu aplicativo para alterar o nível do idioma para 8.0:
fonte
Na verdade, o suporte do Eclipse para Java 8 está disponível: veja aqui e aqui .
fonte
Para compilar com Java 8 (lambdas etc.) no IntelliJ IDEA 15;
CTRL + ALT + SHIFT + S
ou Estrutura de arquivo / projetoAbrir aba Projeto
Defina o Project SDK para a versão java compatível (1.8)
Defina o nível de idioma do projeto como 8
Abra a guia Módulos
Defina o nível do idioma como 8, clique em OK
CTRL + ALT + S
ou Arquivo / ConfiguraçõesCompilação, Execução, Implantação / Compilador / Compilador Java
Altere a versão de bytecode de destino para 1,8, clique em OK
fonte
Usando: IntelliJ IDEA 2017.1.4 Build # IU-171.4694.23
A alteração do nível do idioma na guia Configurações do projeto / Projeto não fez nada. Em vez disso, pressione Alt+ Entere selecione "Defina o nível do idioma como 8 - Lambdas, digite anotações etc." e foi resolvido automaticamente.
fonte
Como Stephen C apontou, o Eclipse Kepler (4.3) tem suporte ao Java 8 quando o patch é instalado (instruções de instalação aqui )
Uma vez instalado, você precisará informar seus projetos para usar o java 8. Primeiro adicione o JDK ao eclipse:
Em seguida, diga ao projeto para usar o JDK 1.8:
fonte
Verifique as configurações abaixo:
Arquivo-> Estrutura do Projeto-> Guia Projeto.
Arquivo-> Estrutura do Projeto-> Módulos.
Arquivo-> Configurações (ou Outras Configurações-> Preferência para novos projetos na versão mais recente do Idea)
Seu problema pode se enquadrar em qualquer uma das categorias definidas acima.
fonte
O mesmo projeto (
Android Studio 3.3.2
,gradle-4.10.1-all.zip
,compileSdkVersion 28
,buildToolsVersion '28.0.3'
) funciona bem na nova máquina Windows rápido e sublinhadoJava 8
coisas pela cor vermelha na idade Ubuntu 18.04 laptop (no entanto projeto é compilar sem erros no Ubuntu).As únicas duas coisas que eu mudei para forçá-lo a parar de sublinhar em vermelho foram excluir
incremental true
edexOptions
no
app
nívelbuild.gradle
.fonte
No intellij 14, as seguintes configurações funcionaram para mim. Configurações do Intellij14
fonte
Mesmo depois de aplicar as configurações específicas do projeto acima definidas no IntelliJ e no Eclipse, ele ainda estava falhando para mim!
o que funcionou para mim foi a adição do plugin maven com origem e destino com a configuração 1.8 no XML POM:
fonte
Possível causa nº 1 (igual às 3 primeiras respostas para esta pergunta): Configurações da estrutura do projeto
Arquivo> Estrutura do projeto> Em Configurações do projeto, vá para Projeto> defina o SDK do projeto para 1,8 (com a versão 65 ou superior, a última é 112) e defina o nível de idioma do projeto como 8.
Arquivo> Estrutura do projeto> Em Configurações da plataforma, vá para Projeto> verifique se o caminho inicial do JDK está definido como 1,8 (com a versão 65 ou superior, a última é 112).
Se o procedimento acima não funcionar, verifique a versão de bytecode de destino do seu compilador e vá para a possível causa nº 2.
Causa possível # 2: Compilador
Muitas felicidades :)
fonte
Para mim, nenhuma das soluções fornecidas funcionou.
Este deve ser seu último recurso: -> Abra o arquivo .iml do seu projeto, altere LANGUAGE_LEVEL para JDK_1_8 ou qualquer versão que você desejar. -> Se isso não ajudou, você deve grep "JDK" no diretório raiz do projeto e localize o arquivo que contém a configuração de versão e defina-a como sua versão preferida.
fonte
Ctrl + Alt + Shift + S e, em seguida, no projeto, selecione o nível de idioma 1.8, leia mais sobre as expressões Lambda aqui
fonte
Para ter suporte do Ecplise para expressões lambda:
fonte
Primeiro verifique a versão do JDK que você está usando, ela deve ser maior que 1,8.
Se for, siga as etapas abaixo.
Alterar o nível de idioma do projeto e dos módulos no Intellij .
Projeto
fonte
essas respostas não estão funcionando para o novo intelecto atualizado ... para o novo intelecto ..
Vá para -> arquivo -> Estrutura do Projeto -> Bibliotecas Globais ==> definido como JDK 1.8 ou versão superior.
também Arquivo -> estrutura do projeto ---> projetos ===> defina "manual do idioma do projeto" para 8
Também Arquivo -> Estrutura do Projeto ---> project sdk ==> 1.8
Isso deve ativar a expressão lambda para o seu projeto.
fonte