web-dev-qa-db-fra.com

Erreur: Java: version source non valide: 8 dans Intellij. Qu'est-ce que ça veut dire?

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.

243
David Grinberg

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:

  • Fichier -> Structure du projet -> Paramètres du projet
  • Fichier -> Structure du projet -> Paramètres du module -> Onglet: Sources: Niveau de langue
  • Fichier -> Projet Structure -> Paramètres du module -> Onglet: Dépendances: Module SDK
  • Fichier -> Paramètres -> Compilateur -> Compilateur Java -> Bytecode cible Version

 screen shot of File > Project Structure > Project

 screen shot of File > Project Structure > Modules > Sources

 screen shot of File > Project Structure > Modules > Dependencies

 screen shot of File > Settings/Preferences > Compiler > Java Compiler

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.

556
Andreas Lundgren

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é 

16
Yash Bajaj

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

javac: publication de la cible non valide: 1.8

4
juliangonzalez

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!

4
Java_Waldi

Pour le surmonter, il suffit de régler sur Project Structure. Il vous suffit de sélectionner le bon chemin pour la version associée de JDK. Sélectionnez new dans l'onglet Dépendances, puis choisissez le chemin. C'est fait!

 enter image description here

4
snr

Remplacez pom.xml1.6 par 1.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>
2
Aziz Mamoyan

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. 

2
jilbot

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.8in 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'.

1
ArifMustafa

J'ajoute un autre chemin non mentionné dans cette réponse https://stackoverflow.com/a/26009627/460935

mais très important est Edit Configurations

one more path

0
Oleg Ushakov

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
0
B5A7

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.

0
Katherine Nicol