2014-09-16 7 views
152

Im Versuch, einen Code zu kompilieren in I Intellij Ultimative 13.1.4 bin mit, aber ich folgende Fehlermeldung bekommen, und ich habe keine Ahnung, was es bedeutet:Fehler: Java: Ungültige Quellversion: 8 in Intellij. Was heißt das?

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 

Meine Vermutung ist, dass seine etwas zu Java verwandte 8 vs Java 7, aber ich habe keine Ahnung, was speziell. Ich habe versucht, Google für diese Nachricht zu umgehen, aber sie sprechen entweder über javac oder target release, so scheint es nicht genau zu gelten.

+1

Welche Version von Java ist installiert? Auf was JRE/JDK hast du in den IDE-Einstellungen hingewiesen? – hexafraction

+2

Wahrscheinlich Projekteinstellungen. Überprüfen Sie das JDK, auf das Sie verweisen, und das gewünschte Sprachniveau. – duffymo

+1

@duffymo Sie hatten Recht, es war auf 8 zeigen. Ich wusste nicht, dass das eine Einstellung war. –

Antwort

363

Ich hatte das gleiche Problem, wenn ich ein Projekt von Java 8 auf Java 6 herunterstufte. Der Grund war, dass es an allen Stellen in IntelliJ nicht geändert wurde.

In IntelliJ 13.1.4 Ich hatte Java und SDK-Version auf den folgenden Stellen zu ändern, diesen Fehler nicht zu bekommen:

  • Datei -> Projektstruktur -> Projekteinstellungen
  • Datei -> Projekt Struktur -> Moduleinstellungen -> Tab: Quellen: Sprachniveau
  • Datei -> Projekt Struktur -> Moduleinstellungen -> Tab: Abhängigkeiten: Modul SDK
  • Datei -> Einstellungen -> Compiler -> Java Compiler -> Ziel-Bytecode 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

Die letzte Kugel war derjenige, der nicht in meinem Fall wurde aktualisiert. Sobald ich das geändert habe, ist der Fehler verschwunden.

+16

der mich tötete war dieser: 'Datei -> Einstellungen -> Compiler -> Java Compiler -> Target bytecode version '. Vielen Dank. – bitoiu

+12

Ich lief auch auf dieses Problem, aber keiner der oben genannten funktionierte.Ich musste 'IntelliJ IDEA -> Einstellungen ... -> Build, Ausführung, Deployment -> Build Tools -> Gradle -> Gradle JVM' machen, falls jemand bei der Verwendung von Gradle auf dieses Problem stieß. – Emil

+2

Quelle: Sprachlevel Änderung zu 7 - Diamanten, ARM, Mehrfachfang usw. für IDEA 15 – Bastet

16

Überprüfen Sie Ihre pom.xml erste (falls Sie eine haben)
JDK dependancy Ihres Moduls prüfen. Stellen Sie sicher, dass es 1.8
Um dies zu tun, gehen Sie zu Projektstruktur -> SDK
Fügen Sie den Pfad, wo Sie 1.8 (jdk1.8.0_45.jdk in meinem Fall) gespeichert haben
Nehmen Sie die Änderungen
Jetzt gehen, Struktur auf Projekt -> Module
ändern Sie das Modul SDK 1.8
Sie die Änderungen

Voila! Sie sind fertig

4

Wenn Sie Gradle als Build-Tool verwenden und Sie erhalten diesen Fehler beim Ausführen einer Gradle Task i.e TomcatRun werfen Sie einen Blick auf meine anderen Antwort auf die gleiche Frage

javac: invalid target release: 1.8

+0

Danke! Dies löste mein Problem, nachdem die obigen Antworten nicht beantwortet wurden. – chazzlabs

+0

Danke auch! Konnte das nicht herausfinden – Frederik

1

Andreas Lundgren Antwort gearbeitet, und ich konnte meinen app kompilieren und auszuführen.

Wenn ich jedoch versucht habe, die dem Projekt zugeordneten JUnit-Tests auszuführen, erhalte ich den gleichen Fehler. Running

von Windows-Eingabeaufforderung zeigte, dass Gradle war immer noch die Aufnahme der falschen jdk. Um es zu beheben, musste ich die Umgebungsvariable JAVA_HOME so einstellen, dass sie auf die richtige jdk verweist und IntelliJ neu startet.

1

Änderung pom.xml1.6 zu 1.8

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
    </configuration> 
</plugin> 
3

Für Gradle Benutzer diese Probleme auftreten, wenn über nichts hilft, das ist, was mein Problem gelöst - gelten diese Erklärungen in Ihrer build.gradle Dateien:

targetCompatibility = 1.6 //or 1.7;1.8 and so on 
sourceCompatibility = 1.6 //or 1.7;1.8 and so on 

Problem gelöst!

0

Für Grails Benutzer, diese Erklärungen in Ihrer BuildConfig.groovy Datei anwenden:

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 
2

Es kann einfach durch das Setzen auf Project Structure überwunden werden. Sie müssen nur den richtigen Pfad für die entsprechende Version von JDK auswählen. Wählen Sie new auf der Registerkarte Abhängigkeiten, und wählen Sie den Pfad. Es ist fertig!

enter image description here

0

Sie müssen das Projekt Öffnen Moduleinstellungen und ändern Sie den Pfad des JDK klicken, wenn in der Datei POM Sie JDK 1.8, konfigurieren jdk 1.8 mit richtigen Pfad.

0

Ich überprüfte alle oben genannten Projektversion, Modulversion, Projekt-Bytecode-Version, Ziel-Bytecode-Version Einstellungen in IntelliJ Idea, aber alle waren die gleichen wie ich zerkratzt.

Ich stehe diesem Fehler Error:java: invalid source release: 1.8 in IntelliJ Idea 2017.2.6, weil ich die Abhängigkeit Version Maven pom-Datei aktualisiert, die (Abhängigkeit) sollten für JDK 1.8-Anwendung erstellen, und ich meine Anwendung baute auf und mit Maven Compiler Quell- und Ziel JDK 1.7.

Daher Downgrade ich wieder die Abhängigkeit Version zu früheren in Maven Pom, und der Fehler ging nach Projekt Rebuild Module 'xyz_project'.

Verwandte Themen