Ich habe ähnliche Fragen gesehen, aber noch keine Antwort gefunden.
Mit maven compile bekomme ich:
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Hier ist die pom.xml:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Javac-Version:
javac 1.7.0_25
Java-Version:
Java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
Irgendeine Idee woran es liegen könnte?
Sie müssen Java_HOME auf Ihr jdk7-Ausgangsverzeichnis einstellen, zum Beispiel unter Microsoft Windows:
oder unter OS X:
Andere als die Einstellung Java_HOME
Umgebungsvariable, müssen Sie sicherstellen, dass Sie das richtige JDK in Ihrer Maven-Run-Konfiguration verwenden. Gehe zu Ausführen -> Konfiguration ausführen, wähle deine Maven Build-Konfiguration aus, gehe zur Registerkarte JRE und stelle die richtige Runtime-JRE ein.
In IntelliJ IDEA geschah dies, als ich ein Projekt importierte, das einwandfrei funktionierte und mit Java 1.7 lief. Anscheinend hatte ich IntelliJ nicht darüber informiert Java 1.7 wurde auf meinem Computer installiert und mein $Java_HOME
Wurde nicht gefunden.
Auf einem Mac wird dies gelöst durch:
Rechtsklick auf das Modul | Moduleinstellungen | Projekt
und Hinzufügen des 1.7 SDK durch Auswahl von "Neu" im Project SDK.
Gehen Sie dann zum Hauptmenü von IntelliJ IDEA= Menü | Einstellungen | Maven | Runner
und wählen Sie die richtige JRE. In meinem Fall wurde es korrekt aktualisiert. Verwenden Sie Project SDK, das jetzt 1.7 ist.
Wenn Maven außerhalb von Eclipse ausgeführt wird, dieser Fehler jedoch nach einer JDK-Änderung auftritt, wechseln Sie zu Ihrer Maven-Ausführungskonfiguration, und am unteren Rand der Hauptseite befindet sich die Option "Maven Runtime". Meins benutzte den Embedded Maven, also funktionierte es, nachdem ich ihn auf meinen externen Maven umgestellt hatte.
Dies funktioniert wahrscheinlich für viele Dinge, aber es reicht nicht für Maven und schon gar nicht für das Maven-Compiler-Plugin.
Überprüfen Sie Mikes Antwort auf seine eigene Frage hier: Stackoverflow-Frage 24705877
Dies löste das Problem für mich sowohl in der Kommandozeile als auch in Eclipse.
Auch die @ LinGao-Antwort auf Stapelüberlauf-Frage 2503658 und die Verwendung der Variablen $ JAVACMD könnten hilfreich sein, aber ich habe sie selbst nicht getestet.