J'essaie de compiler du code dans J'utilise Intellij Ultimate 13.1.4, mais j'obtiens l'erreur suivante et je n'ai aucune idée de ce que cela signifie:
Information:Using javac 1.7.0_55 to compile Java sources
Information:Java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:Java: invalid source release: 8
Je suppose que c'est quelque chose qui est lié à Java 8 vs Java 7, mais je n'ai aucune idée de quoi. J'ai essayé de faire passer ce message par Google, mais ils parlent soit de javac
, soit de target release
, de sorte que cela ne semble pas vraiment s'appliquer.
J'ai eu le même problème lors de la "mise à niveau" d'un projet de Java 8 à Java 6. La raison en était qu'il n'avait pas été modifié à tous les endroits dans IntelliJ.
Dans IntelliJ 13.1.4, je devais changer la version de Java et du SDK aux endroits suivants pour ne pas obtenir cette erreur:
La dernière balle était celle qui n'a pas été mise à jour dans mon cas. Une fois que j'ai changé cela, l'erreur a disparu.
Vérifiez d'abord votre pom.xml
(si vous en avez un)
Vérifiez la dépendance JDK
de votre module. Assurez-vous que c'est1.8
Pour ce faire, allez dans Structure du projet -> SDK's
Ajoutez le chemin où vous avez stocké 1.8 (jdk1.8.0_45.jdk
dans mon cas)
Appliquer les modifications
Maintenant, allez dans Projet Structure -> Modules
Modifiez le module SDK en1.8
Appliquer les modifications
Voila! Vous avez terminé
Si vous utilisez Gradle en tant qu'outil de construction et que vous obtenez cette erreur lors de l'exécution d'une tâche Gradle, i.e TomcatRun examine ma réponse à la même question
Pour les utilisateurs de Gradle ayant ce problème, si rien de ce qui précède n’aide, c’est ce qui a résolu mon problème - appliquez cette déclaration dans vos fichiers build.gradle:
targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on
Problème résolu!
Remplacez pom.xml
1.6
par 1.8
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
La réponse d'Andreas Lundgren a fonctionné et j'ai pu compiler et exécuter mon application.
Cependant, lorsque j'ai essayé d'exécuter les tests JUnit associés au projet, j'ai reçu la même erreur. Fonctionnement
gradle -version
à partir de la commande Windows, l’invite a montré que Gradle récupérait toujours le jdk incorrect. Pour résoudre ce problème, je devais définir la variable d'environnement Java_HOME
afin qu'elle pointe vers le bon jdk et redémarre IntelliJ.
J'ai vérifié tout ce qui précède version de projet, version de module, version de code intermédiaire de projet, paramètres de version de code intermédiaire cible dans IntelliJ Idea
, mais tous étaient identiques à ceux que j'avais égratignés.
Je suis confronté à cette erreurError:Java: invalid source release: 1.8
in IntelliJ Idea 2017.2.6
car j'ai mis à niveau le fichier pom de version de dépendance Maven
, que (dépendance) étaient supposés générer pour JDK 1.8 et que je construisais mon application sur et avec le compilateur maven source et cible JDK 1.7.
Par conséquent, je rétrograde à nouveau la version de dépendance vers la version précédente dans Maven
pom, et l'erreur disparaît après le projet Rebuild Module 'xyz_project'.
J'ajoute un autre chemin non mentionné dans cette réponse https://stackoverflow.com/a/26009627/460935
mais très important est Edit Configurations
Pour les utilisateurs Grails, appliquez ces déclarations dans votre fichier BuildConfig.groovy:
grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on
Vous devez cliquer sur le projetOpen Module Settings et modifier le chemin de votre JDK. Si, dans le fichier POM, vous utilisez jdk 1.8, configurez jdk 1.8 avec le chemin correct.