Beim Ausführen eines JUnit-Tests mit IntelliJ IDEA bekomme ich
Wie kann ich das korrigieren?
Maven Build funktioniert gut. (Deshalb glaube ich das in IDEA Konfigurationsproblem)
Wahrscheinlich haben Sie falsche Compileroptionen aus Maven hier importiert:
Überprüfen Sie auch die Einstellungen für die Byte- (target) - Version des Projekts und des Moduls (siehe Screenshot).
Andere Orte, an denen die Sprachstufe source konfiguriert ist:
Maven voreingestellter Sprachlevel ist 1.5 (5.0). Diese Version wird im obigen Screenshot als Modul-Sprachlevel angezeigt.
Dies kann mit maven-compiler-plugin configuration in pom.xml
geändert werden:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
oder
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
IntelliJ IDEA wird diese Einstellung berücksichtigen, nachdem Sie das Maven-Projekt im Maven Projects tool reimport:
Ähnlich wie nachstehend für IntelliJ 13 und 14 beschrieben, jedoch mit einer zusätzlichen Stufe im Bereich Einstellungen/Einstellungen: Einstellungen> Build, Ausführung, Bereitstellung> Compiler> Java Compiler.
Überprüfen Sie in IntelliJ 13 und 14 die Benutzeroberfläche Settings> Compiler> Java Compiler, um sicherzustellen, dass Sie keine andere Bytecode-Version in Ihrem Modul verwenden.
In IntelliJ IDEA 14.1 befindet sich die "Ziel-Bytecode-Version" an einer anderen Stelle.
Die folgende Änderung hat für mich funktioniert:
Datei> Einstellungen ...> Erstellen, Ausführen, Bereitstellen> Compiler> Java Compiler : change Bytecode-Zielversion von 1.5 bis 1.8
Haben Sie sich Ihre Build-Konfiguration angesehen, sollte dies bei Verwendung von Maven 3 und JDK 7 gefallen
<build>
<finalName>SpringApp</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
...
</plugins>
...
</build>
Ich bin auf dieses Problem gestoßen und der Fix bestand darin, zu Projekteinstellungen> Module zu gehen> auf das jeweilige Modul> Registerkarte Abhängigkeiten zu klicken. Ich habe bemerkt, dass das Modul-SDK noch auf 1.6 eingestellt war, ich habe es auf 1.7 geändert und es hat funktioniert.
Ich habe die erforderlichen Optionen ('Ziel-Bytecode-Version') in Einstellungen> Compiler> Java-Compiler in meinem Fall gefunden (Intelij-Idee 12.1.3)
Ändern Sie die Compiler-Einstellungsdatei des Projekts im folgenden Pfad und ändern Sie das Ziel in 1.7:
/project/.idea/compiler.xml
<bytecodeTargetLevel>
<module name="project-name" target="1.7" />
</bytecodeTargetLevel>
Ich löste es, indem ich das Feld leer setzte:
Einstellungen> Compiler> Java-Compiler> Bytecode-Version des Projekts
Dann verwendet IntelliJ die JDK-Standardversion.
Ich habe dies nach einem geringfügigen Upgrade von IntelliJ IDEA 14 auf v14.1 ..__ getroffen. Für mich hat das Ändern eines Editors von Top/Parent Pom geholfen und dann auf Maven erneut importiert (wenn es nicht automatisch ist) .
Aber vielleicht reicht es gerade aus, mit der rechten Maustaste auf Module/Aggregat/Elternmodul und Maven -> Reimport zu klicken.
Von einem Moment zum anderen habe ich diesen Fehler auch ohne einen klaren Grund erhalten. Ich habe alle möglichen Einstellungen am Compiler/Modul usw. geändert. Am Ende habe ich jedoch das IntelliJ-Projekt neu erstellt, indem ich das Maven-Projekt reimportiert habe, und das Problem wurde gelöst. Ich denke das ist ein Fehler.
IntelliJ 12 129.961
Ich habe die folgende Methode gelöst
Datei >> Projektstruktur >> Projekt >> Projektsprachenebene -> Richtige Version einstellen (Beispiel: 1.5)
check . idea/misc.xml Manchmal müssen Sie das languageLevel = "JDK_1_X" Attribut manuell ändern
Wenn es sich um ein Gradle-Projekt handelt, suchen Sie in Ihrer build.gradle-Datei nach folgenden Einstellungen:
sourceCompatibility = "xx"
targetCompatibility = "xx"
Für alle Unterobjekte können Sie in Ihrer root-Datei build.gradle Folgendes angeben:
subprojects { project ->
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
}
Obwohl Sie die Sprachebenen in Idea> Settings manuell festlegen können, synchronisiert Idea automatisch Modul-IML-Dateien aus Gradle-Einstellungen (getestet mit Idea 15+), wenn es sich um ein Gradle-Projekt handelt. Daher werden alle Ihre manuellen Änderungen überschrieben, wenn Gradle aktualisiert wird.
Basierend auf Gradle-Dokumentation Wenn diese nicht gesetzt sind, wird die aktuelle JVM-Konfiguration verwendet.
Ich habe einen anderen Weg gefunden, um auf diesen Fehler zu stoßen. Sie können dies erhalten, wenn Sie Ihre Verzeichnisstruktur neu organisiert haben und eines Ihrer Poms auf den alten übergeordneten Ordner zeigt, der javac nicht mehr konfiguriert (da diese Konfiguration auf eine mittlere Ebene verschoben wurde). In diesem Fall hat die oberste Ebene standardmäßig den Wert 1,5, und die schlecht benannte untere Ebene erbt sie.
Eine weitere Sache, die Sie überprüfen sollten, wenn Sie diesen Fehler sehen, ist, dass Ihre Pom-Struktur richtig mit Ihrer Verzeichnisstruktur übereinstimmt.
Wenn der Build von Maven einwandfrei funktioniert, versuchen Sie, die Struktur von Maven- und IntelliJ IDEA- Projekten zu synchronisieren.
Klicken Sie im Maven-Tool-Fenster auf die Schaltfläche "Aktualisieren" . Wenn Sie auf diese Schaltfläche klicken, analysiert IntelliJ IDEA die Projektstruktur im Maven-Tool-Fenster.
Beachten Sie, dass dies möglicherweise nicht hilfreich ist, wenn Sie EAP-Build verwenden, da die Maven-Synchronisierungsfunktion unter Umständen nicht funktioniert.
Stellen Sie sicher, dass die richtige Abhängigkeit ausgewählt ist Datei> Projektstruktur
Wählen Sie Ihr Projekt aus und navigieren Sie zur Registerkarte Abhängigkeiten. Wählen Sie die rechte Abhängigkeit aus der Dropdown-Liste oder erstellen Sie eine neue.
Wenn alle vorherigen Lösungen für Sie nicht funktioniert haben (was in meinem Fall der Fall war), können Sie die Konfigurationsdateien von intellij löschen:
Intellij wird später neue generieren . Allerdings, BEACHTUNG, löscht dies auch alle auf dem Projekt vorgenommenen intellij-Konfigurationen (d. H. Konfiguration des Debug-Modus, ...)