it-swarm.com.de

IDEE: Javac: Quellversion 1.7 erfordert Zielversion 1.7

Beim Ausführen eines JUnit-Tests mit IntelliJ IDEA bekomme ich

enter image description here

Wie kann ich das korrigieren?

  • SDK verwenden 1.7
  • Das Sprachniveau des Moduls beträgt 1,7

Maven Build funktioniert gut. (Deshalb glaube ich das in IDEA Konfigurationsproblem)

433
JAM

Wahrscheinlich haben Sie falsche Compileroptionen aus Maven hier importiert:

compiler options

Ü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:

  • Projektstruktur | Projekt

 project

  • Projektstruktur | Module (jedes Modul überprüfen) | Quellen

 sources

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:

 reimport

612
CrazyCoder

IntelliJ 15, 2016 & 2017

Ä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.

 enter image description here

IntelliJ 13 & 14

Ü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.

enter image description here

355
Drew Noakes

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

enter image description here

enter image description here

61

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>
41
swissonid

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.

22
Rob Barreca

Ich habe die erforderlichen Optionen ('Ziel-Bytecode-Version') in Einstellungen> Compiler> Java-Compiler in meinem Fall gefunden (Intelij-Idee 12.1.3)

13
eger

Ä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>
9
Joe Cheng

Ich löste es, indem ich das Feld leer setzte:

Einstellungen> Compiler> Java-Compiler> Bytecode-Version des Projekts

Dann verwendet IntelliJ die JDK-Standardversion.

5

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.

4
OMax

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

4
pveentjer

Ich habe die folgende Methode gelöst

Datei >> Projektstruktur >> Projekt >> Projektsprachenebene -> Richtige Version einstellen (Beispiel: 1.5)

2
mati

check . idea/misc.xml Manchmal müssen Sie das languageLevel = "JDK_1_X" Attribut manuell ändern

1
k.a.i

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. 

1
Cagatay Kalan

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.

1
Gus

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" refresh . 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.

1
naXa

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. 

0
Viraj Kulkarni

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:

  • projektverzeichnis/.idea/compiler.xml
  • projektverzeichnis/.idea/encodings.xml
  • projektverzeichnis/.idea/misc.xml
  • projektverzeichnis/.idea/modules.xml
  • projektverzeichnis/.idea/vcs.xml
  • projektverzeichnis/.idea/workspace.xml
  • usw.

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, ...)

0

Sie müssen die Java-Compiler-Version in build config ändern.

 enter image description here

0
Nirbhay Rana