intellij idea - Erreur: java: version source non valide 1.9

129

J'essaye d'exécuter ma classe d'analyseur JSQL, mais j'obtiens Error: java: invalid source release 1.9.

J'ai essayé de suivre cette réponse . J'ai changé File> Build, Execution, Deployment> Java Compiler> Project version bytecode: 1.8. Cependant, je ne peux pas changer le niveau de langue du module et le niveau de langue du projet à 1.8 car il n'y a pas d'option pour cela. J'obtiens toujours la même erreur ci-dessous.

Erreur entrez la description de l'image ici

Code

package cs4321.project2;

import java.io.FileReader;
import net.sf.jsqlparser.parser.CCJSqlParser;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.select.Select;

public class Parser {
    private static final String queriesFile = "resources/input/queries.sql";

    public static void main(String[] args) {
        try {
            CCJSqlParser parser = new CCJSqlParser(new FileReader(queriesFile));
            Statement statement;
            while ((statement = parser.Statement()) != null) {
                System.out.println("Read statement: " + statement);
                Select select = (Select) statement;
                System.out.println("Select body is " + select.getSelectBody());
            }
        } catch (Exception e) {
            System.err.println("Exception occurred during parsing");
            e.printStackTrace();
        }
    }
}
Alex
la source
Quelle version d'intellij?
soorapadman
@soorapadman intellij idea 2017.2.2
Alex
semble bien cela devrait fonctionner. Travaillez-vous avec maven project?
soorapadman
Cependant, je ne peux pas changer le niveau de langue du module et le niveau de langue du projet à 1.8 car il n'y a pas d'option pour cela. pourquoi est-ce si? et quelle erreur obtenez-vous en essayant de le faire? La version 1.9 semble également être la version java. Avez-vous configuré Java-9 sur votre machine / intelliJ?
Naman

Réponses:

324

Sélectionnez le projet, puis File> ProjectStructure> ProjectSettings> Modules -> sources Vous avez probablement le niveau de langue défini sur 9:

capture d'écran

Changez-le simplement en 8 (ou ce dont vous avez besoin) et vous êtes prêt à partir.

Vérifiez également les mêmes paramètres de niveau de langue mentionnés ci-dessus, sous Paramètres du projet> Projet

entrez la description de l'image ici

DeanM
la source
1
Oh, enfin je sais ce que signifie le niveau de langue du projet, merci
Daniel Dai
1
Aussi, dans l'image ci-dessus, n'oubliez pas d'aller à la section Modules
John Peters
1
Meilleur changement dans pom.xml <java.version> 1.8 </java.version> As, sinon il peut réinitialiser la configuration lors de la réimportation dans intellij
Rakesh Yembaram
22

Parfois, le problème se produit en raison de la version incorrecte du bytecode du projet.

Vérifiez-le donc: Fichier -> Paramètres -> Construction, exécution, déploiement -> Compilateur -> Compilateur Java -> Version bytecode du projet et définissez sa valeur sur 8

Exemple

Rogol
la source
1
c'était la solution pour moi en haut de Paramètres du projet-> Modules -> Niveau de langue
Kemal Atik
1
C'est une excellente réponse complémentaire à celle acceptée.
Dalton
15

J'ai eu le même problème. Il y a une réponse:

  • 1. CTRL + ALT + MAJ + S ;
    1. Puis allez dans " Modules" ;
    2. " Dépendances ;
    3. Changez " Module SDK ".

Je l'ai! Maintenant, vous avez Java 9!

Dmitry Kaltovich
la source
5

intellij-invalid-source

Vous devez définir le SDK JAVA et le niveau de langue approprié dans les paramètres du projet. Cliquez pour agrandir.

Gayan Weerakutti
la source
3

Lors de l'utilisation du projet maven.

vérifier le fichier pom.xml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>9</java.version>
</properties>

si jdk 8 est installé sur votre machine, changez la java.versionpropriété de 9en8

abitcode
la source
2

J'ai juste eu un problème similaire. Le projet s'était ouvert en utilisant Java 9 mais même après que tous les modules et le projet aient été remis à 1.8, j'obtenais toujours l'erreur.

J'avais besoin de forcer Gradle à actualiser le projet, puis tout s'est déroulé comme prévu.

Edward
la source
1

Alternativement via les paramètres du projet:

  • Paramètres du projet
  • Projet
  • Niveau de langue du projet (défini pour répondre à vos besoins)

Selon la configuration de votre build, cela peut être la voie à suivre.

Felvhage
la source
1

Dans la structure du projet dans le SDK du projet: modifiez le SDK sur 11 ou plus et dans le niveau de langue du projet: modifiez sur 11 - Syntaxe de variable locale pour les paramètres lambda

Lucian L.
la source
0

Pour toute personne aux prises avec ce problème qui a essayé la solution de DeanM mais en vain, il y a autre chose à vérifier, qui est la version du JDK que vous avez configurée pour votre projet. Ce que j'essaie de dire, c'est que si vous avez configuré le JDK 8u191 (par exemple) pour votre projet, mais que le niveau de langue est réglé sur quelque chose de supérieur à 8, vous obtiendrez cette erreur.

Dans ce cas, il est probablement préférable de demander à la personne en charge du projet, quelle version du JDK serait préférable pour compiler les sources.

Tharkius
la source
0

J'ai également eu le même problème dans IntellijIdea, après avoir sélectionné le projet, puis File> ProjectStructure> ProjectSettings> Modules -> sources que l'option affichait - le niveau de langue défini sur 9:

Donc, je viens de le changer en 8. Mon problème n'a toujours pas été résolu.

Le principal problème était avec pom.xml. J'ai réimporté le fichier pom.xml et mon problème a été résolu.

Ainsi, chaque fois que vous modifiez le fichier pom.xml, IDEA doit mettre à jour la structure du projet. Par exemple, si vous y avez ajouté d'autres dépendances, IDEA doit les ajouter en tant que bibliothèques de projet.

Dans "Paramètres> Construction, Exécution, Déploiement> Outils de construction> Maven> Importation", vous pouvez choisir "Importer automatiquement les projets Maven". Cela invoquera automatiquement l'action "Réimporter" lorsque le pom.xml sera modifié.

entrez la description de l'image ici

amitsahu86
la source
0

Gradle J'ai eu le même problème et la modification de tous les paramètres donnés dans les solutions précédentes ne faisait aucune différence. Ensuite, je suis allé sur build.gradle et j'ai trouvé cette ligne et je l'ai supprimée.

sourceCompatibility = '11'

et ça a marché! :)

commejudo
la source
0

J'avais ce problème lors de l'exécution d'un projet SpringBoot (Maven)

Dans mon fichier POM, j'ai changé la version java de 11 à 8 et cela a fonctionné:

<properties>
    <java.version>8</java.version> //The default was 11
</properties>

Assurez-vous Load maven changesque le changement ne reflétera pas autrement.

Ojonugwa Jude Ochalifu
la source