IntelliJ me montre cette erreur
Je viens de construire mon nouvel ordinateur et aucun de mes fichiers Java ne fonctionne. Mon Intellij ordinaire fonctionnait lorsque je l'ai essayé pour la première fois, mais mon studio Android ne s'installera pas car il ne pourrait pas trouver le chemin d'accès au jdk. Ici est la question que j'ai posée à ce sujet. Comme cela ne fonctionnait pas, j'ai dû réinstaller Java plusieurs fois, et maintenant, mon IntelliJ ne fonctionne plus. Voici une photo de l'erreur (je reçois une erreur qui me dit que les boucles for-each ne sont pas prises en charge à ce niveau de langue).
J'ai essayé d'installer le JDK sur mon lecteur D: et cela n'a pas fonctionné. J'essaie actuellement d'utiliser Java 1.8u71 (j'ai essayé les u65 et 1.7u47), mais aucun n'a fonctionné.
IntelliJ me montre cette erreur
Pour activer les fonctionnalités du langage Java dans l'éditeur, vous devez modifier le Structure du projet ou Paramètres du module afin de vous assurer que votre Project SDK correspond à la - Niveau de langue du projet.
Le Kit de développement de projet (JDK) Java 1.5 correspond au niveau de langue de projet 5 ...
Java 1.6 correspond au niveau de langue 6 ...
Java 1.7 correspond au niveau de langue 7, etc.
En fonction de votre version d'IntelliJ, appuyez sur F4 ou Ctrl + Alt + Shift - S sur votre module dans la fenêtre Projet, ou appuyez sur Ctrl + Shift - A et tapez "Structure du projet" ou "Paramètres du module" pour ouvrir la boîte de dialogue Structure du projet.
Sous la section Paramètres du projet, cliquez sur le premier élément de la liste, Projet.
Dans la capture d'écran ci-dessous, la version 1.8 (Java version '1.8.0_72')
de Project SDK correspond au niveau de langue sélectionné SDK Default (8 - Lambdas, type annotations etc.)
car Java 1.8 correspond au niveau de SDK de niveau 8. Ceci active les fonctionnalités du langage Java 8 à utiliser dans l'éditeur.
Si vous n'avez pas configuré le JDK sous Project SDK
, le problème est différent. Résolvez ce problème en premier en cliquant sur New
et en ajoutant un JDK.
Quand j'avais plusieurs modules indépendants dans le projet, je devais faire le réglage ci-dessous en plus de @ activedecay answer : Sous Project Settings
, cliquer sur Modules
. Sélectionnez un module spécifique. Sélectionnez le Language Level
approprié.
J'ai eu ce même problème et aucune des solutions que j'ai trouvées n'a fonctionné.
J'utilisais des projets Maven et j'ai donc décidé de lancer un maven install
. Il a aussi dit:
[ERROR] thefile.Java:[24,77] diamond operator is not supported in -source 1.5
[ERROR] (use -source 7 or higher to enable diamond operator)
[ERROR] theFile.Java:[91,62] lambda expressions are not supported in -source 1.5
[ERROR] (use -source 8 or higher to enable lambda expressions)
J'ai donc ajouté les propriétés au fichier Maven build pom.xml
:
<properties>
<spring.version>4.1.6.RELEASE</spring.version>
<Java.version>1.8</Java.version>
<maven.compiler.source>${Java.version}</maven.compiler.source>
<maven.compiler.target>${Java.version}</maven.compiler.target>
</properties>
Et rafraîchi le projet Maven dans IntelliJ. Ça a marché!
J'ai aussi eu le même problème.
Alors que j'accédais à une méthode statique d’interface via le nom de l’interface, j’ai eu l’erreur disant
les appels de méthode d'interface statique ne sont pas pris en charge à ce niveau de langue 5
Comme il s’agit de Java 1.8, j’ai vérifié certaines choses:
J'utilise Intellij. Donc en faisant CTRL+ALT+SHIFT+S La boîte de dialogue Structure du projet s'ouvre, allez à
Projet -> Niveau de langue du projet
définissez cette option sur SDK par défaut (8-Lambdas, annotations de type, etc.).
Dans la structure du projet ouvert
Modules -> Sources -> Niveau de langue
définissez ceci sur Projet par défaut (8-Lambdas, annotations de type, etc.).
Appliquer-> OK.
Alors l'erreur disparaîtra.
Un autre problème que j'ai provoqué cette erreur dans un projet Gradle est le paramètre sourceCompatibility
dans le fichier build.gradle. Cela doit également correspondre à la valeur que vous prévoyez avoir besoin. La valeur par défaut que j'ai vu utiliser par IntelliJ lors de la création d'un nouveau projet Gradle est 1.5
. Si vous utilisez lambdas, par exemple, la construction échouera.