Je testais de nouvelles fonctionnalités de Java 8 et copiais l'exemple dans mon IDE (Eclipse à l'origine, puis IntelliJ) comme indiqué ici
Eclipse n'a offert aucun support pour les expressions lambda, et IntelliJ a continué à signaler une erreur
Expressions lambda non prises en charge à ce niveau de langue
Je voudrais savoir s'il s'agit d'un problème avec mon installation, le code ou le support.
java
intellij-idea
lambda
java-8
Czipperz
la source
la source
Réponses:
Dans IntelliJ IDEA:
Dans
File Menu
→Project Structure
→Project
, passezProject Language Level
à8.0 - Lambdas, type annotations etc.
Pour Android 3.0+ Go
File
→Project Structure
→Module
→app
et Propriétés Dans l' onglet ensembleSource Compatibility
etTarget Compatibility
à1.8 (Java 8)
Capture d'écran:
la source
File Menu → Project Structure → Modules
, mais par défaut, il sera le même que le niveau de langue du projet.android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
File
->Project Structure
->Module you want to support lambdas
et définissez la compatibilité source et la compatibilité cible sur 1,8Vous devez également modifier le niveau de langue du code source dans l'onglet Source (partie Modules).
la source
Cette solution fonctionne dans Android Studio 3.0 ou version ultérieure.
Changer à la fois de
Source Compatibility
etTarget Compatibility
vers1.8
Vous pouvez également le configurer directement dans le fichier build.gradle correspondant
la source
Pour intellij 13, changez simplement le niveau de langue du projet lui-même en
8.0
suivant la navigation.Niveau de langue du module
J'ai également dû mettre à jour
Modules lang level
quand il n'y avait pas de plugin maven pourjava compiler
.Mais cela
Module lang level
serait automatiquement corrigé s'il y en avait déjà unmaven plugin
,Après les changements, tout semble bien
la source
Dans Android Studio Canary Build (3. +), vous pouvez effectuer les opérations suivantes:
Fichier -> Structure du projet -> Rechercher dans la section Modules, il existe des noms de modules de votre classe. Cliquez sur le module dans lequel vous souhaitez mettre à niveau Java vers la version 1.8. -> Modifiez "Compatibilité source" et "Compatibilité cible" à 1,8 à partir de 1,7 ou inférieur. Ne changez rien d'autre. -> Cliquez sur Appliquer
maintenant gradle se resynchronisera et votre erreur sera supprimée.
la source
Ajoutez simplement
compileOptions
build.gradle à votre application:la source
Pour les derniers utilisateurs utilisant Android studio 3.0.1 ou supérieur. Cliquez simplement sur Alt + Entrée et mettez à niveau votre niveau de langue vers 8.0 - Lambdas, saisissez des annotations, etc.
la source
Si vous obtenez Non pris en charge en langue 5 , vérifiez ceci: (Pour moi, c'était dans la section Modules )
la source
7.0 ne prend pas en charge les expressions lambda. Ajoutez simplement ceci à votre gradle d'application pour changer votre niveau de langue à 8.0:
la source
En fait, le support Eclipse pour Java 8 est disponible: voir ici et ici .
la source
Pour compiler avec Java 8 (lambdas, etc.) dans IntelliJ IDEA 15;
CTRL + ALT + SHIFT + S
ou Structure de fichier / projetOuvrir l'onglet Projet
Définir Project SDK sur une version Java compatible (1.8)
Définissez le niveau de langue du projet sur 8
Onglet Ouvrir les modules
Définissez le niveau de langue sur 8, cliquez sur OK
CTRL + ALT + S
ou Fichier / ParamètresBuild, Execution, Deployment / Compiler / Java Compiler
Remplacez la version cible du bytecode par 1.8, cliquez sur OK
la source
Utilisation: IntelliJ IDEA 2017.1.4 Build # IU-171.4694.23
Changer le niveau de langue via l'onglet Paramètres du projet / Projet n'a rien fait. Au lieu de cela , appuyez sur Alt+ Enteret sélectionnez "Définir le niveau de langue sur 8 - Lambdas, tapez les annotations, etc." et il s'est résolu automatiquement.
la source
Comme l'a souligné Stephen C, Eclipse Kepler (4.3) prend en charge Java 8 lorsque le correctif est installé (instructions d'installation ici )
Une fois installé, vous devrez dire à vos projets d'utiliser java 8. Ajoutez d'abord le JDK à eclipse:
Dites ensuite au projet d'utiliser JDK 1.8:
la source
Vérifiez les paramètres ci-dessous:
Fichier-> Structure du projet-> Onglet Projet.
Fichier-> Structure du projet-> Modules.
Fichier-> Paramètres (ou Autres paramètres-> Préférence pour les nouveaux projets dans une version Idea plus récente)
Votre problème peut appartenir à l'une des catégories définies ci-dessus.
la source
Le même projet (
Android Studio 3.3.2
,gradle-4.10.1-all.zip
,compileSdkVersion 28
,buildToolsVersion '28.0.3'
) fonctionne très bien sur la nouvelle machine Windows rapide et SoulignéJava 8
choses par la couleur rouge sur le vieux portable Ubuntu 18.04 (cependant projet compile sans erreur sur Ubuntu).Les deux seules choses que j'ai modifiées pour l'obliger à arrêter de souligner le rouge étaient l'exclusion de
incremental true
etdexOptions
dans le
app
- niveaubuild.gradle
.la source
Dans intellij 14, les paramètres suivants ont fonctionné pour moi. Paramètres Intellij14
la source
Même après avoir appliqué les paramètres spécifiques au projet définis ci-dessus sur IntelliJ ainsi que sur Eclipse, cela échouait toujours pour moi!
ce qui a fonctionné pour moi était l'ajout du plugin maven avec la source et la cible avec le paramètre 1.8 dans POM XML:
la source
Cause possible n ° 1 (identique aux 3 premières réponses à cette question): Paramètres de structure du projet
Fichier> Structure du projet> Sous Paramètres du projet, accédez à Projet> définissez le SDK du projet sur 1,8 (avec la version 65 ou supérieure, la dernière est 112) et définissez le niveau de langue du projet sur 8.
Fichier> Structure du projet> Sous Paramètres de la plate-forme, accédez à Projet> assurez-vous que votre chemin d’accueil JDK est défini sur 1,8 (avec la version 65 ou supérieure, la dernière est 112).
Si ce qui précède ne fonctionne pas, vérifiez la version de bytecode cible de votre compilateur et passez à la cause possible # 2.
Cause possible n ° 2: compilateur
Meilleurs vœux :)
la source
Pour moi, aucune des solutions proposées n'a fonctionné.
Cela devrait être votre dernier recours: -> Ouvrez le fichier .iml de votre projet, changez le LANGUAGE_LEVEL en JDK_1_8 ou la version de votre choix. -> Si cela n'a pas aidé, vous devriez grep "JDK" dans le répertoire racine de votre projet et trouver le fichier qui contient le paramètre de version et le définir sur votre version préférée.
la source
Ctrl + Alt + Maj + S, puis dans le projet, sélectionnez le niveau de langue 1.8, en savoir plus sur les expressions Lambda ici
la source
Pour prendre en charge Ecplise pour les expressions lambda:
la source
Vérifiez d'abord la version de JDK que vous utilisez, elle devrait être supérieure à 1,8.
Si c'est le cas, passez aux étapes ci-dessous.
Changer le niveau de langue du projet et des modules dans Intellij .
Projet
la source
cela ne fonctionne pas pour les nouveaux intelliJ mis à jour ... pour les nouveaux intelliJ ..
Allez dans -> fichier -> Structure du projet -> Bibliothèques globales ==> réglez sur JDK 1.8 ou version supérieure.
également File -> project Structure ---> projects ===> set "project language manual" to 8
également Fichier -> Structure du projet ---> projet sdk ==> 1.8
Cela devrait activer l'expression lambda pour votre projet.
la source