Ich versuche, etwas Code zu kompilieren. Ich verwende Intellij Ultimate 13.1.4. Ich erhalte jedoch die folgende Fehlermeldung und weiß nicht, was es bedeutet:
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 es etwas mit Java 8 vs Java 7 zu tun hat, aber ich habe keine Ahnung, was genau. Ich habe versucht, bei Google nach dieser Nachricht zu suchen, aber sie sprechen entweder über javac
oder target release
, daher scheint es nicht genau zu gelten.
Das gleiche Problem hatte ich beim "Downgrade" eines Projekts von Java 8 auf Java 6. Der Grund war, dass es nicht an allen Stellen in IntelliJ geändert wurde.
In IntelliJ 13.1.4 musste ich die Java- und SDK-Version an den folgenden Stellen ändern, um diesen Fehler nicht zu erhalten:
Die letzte Kugel war die, die in meinem Fall nicht aktualisiert wurde. Nachdem ich das geändert hatte, verschwand der Fehler.
Überprüfen Sie zuerst Ihren pom.xml
(falls vorhanden)
Überprüfen Sie die JDK
Abhängigkeit Ihres Moduls. Stellen Sie sicher, dass es sich um1.8
handelt.
Gehen Sie dazu zu Projektstruktur -> SDKs
Fügen Sie den Pfad dem Speicherort hinzu, an dem Sie 1.8 gespeichert haben (jdk1.8.0_45.jdk
in meinem Fall).
Übernehmen Sie die Änderungen
Gehen Sie jetzt zu Projekt Struktur -> Module
Ändern Sie das Modul-SDK in1.8
Übernehmen Sie die Änderungen
Voila! Sie sind fertig
Wenn Sie Gradle als Build-Tool verwenden und diese Fehlermeldung beim Ausführen einer Gradle-Task angezeigt wird, z. B. TomcatRun, werfen Sie einen Blick auf meine andere Antwort auf dieselbe Frage
Wenn Gradle-Benutzer mit diesen Problemen nichts tun, ist dies das Problem, das mein Problem gelöst hat. Wenden Sie diese Deklarationen in Ihre build.gradle -Dateien an:
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!
Ändern Sie in pom.xml
1.6
in 1.8
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Die Antwort von Andreas Lundgren funktionierte und ich konnte meine App kompilieren und ausführen.
Beim Versuch, die mit dem Projekt verknüpften JUnit-Tests auszuführen, wurde jedoch derselbe Fehler angezeigt. Laufen
gradle -version
der Windows-Befehl Prompt zeigte, dass Gradle immer noch die falsche Jdk aufnahm. Um das Problem zu beheben, musste ich die Umgebungsvariable Java_HOME
so einstellen, dass sie auf das richtige jdk verweist und IntelliJ neu startet.
Ich habe alle oben genannten Projektversionen, Modulversionen, Projekt-Bytecode-Versionen, Ziel-Bytecode-Versionen in IntelliJ Idea
überprüft, aber alle waren die gleichen, die ich zerkratzt habe.
Ich stehe vor diesem FehlerError:Java: invalid source release: 1.8
in IntelliJ Idea 2017.2.6
, weil ich die Abhängigkeitsversion Maven
pom-Datei aktualisiert habe, die (Abhängigkeit) für JDK 1.8-Anwendung erstellt werden sollte und ich meine Anwendung auf und mit Maven-Compiler-Quell- und Ziel-JDK 1.7 erstellte.
Daher habe ich die Abhängigkeitsversion erneut auf eine frühere Version in Maven
pom heruntergestuft, und der Fehler ist nach dem Projekt Rebuild Module 'xyz_project' gegangen.
Ich füge einen weiteren Pfad hinzu, der in dieser Antwort nicht erwähnt wird https://stackoverflow.com/a/26009627/460935
aber sehr wichtig ist Edit Configurations
Wenden Sie für Grails-Benutzer diese Deklarationen in Ihrer BuildConfig.groovy-Datei an:
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
Sie müssen auf das Projekt klickenOpen Module Settings öffnen und den Pfad Ihres JDK ändern. Wenn Sie in der Datei POM jdk 1.8 verwenden, konfigurieren Sie jdk 1.8 mit dem richtigen Pfad.