ich eine Maven Eclipse-Anwendung, die ich versuche, über die Eingabeaufforderung führen Sie den folgenden Befehl:Nicht unterstützte major.minor Version 51.0, aber alles ist auf JDK 1.6
java -cp target/classes;"target/dependency/*" com.example.Main
Leider wirft ein Fehler:
UnsupportedClassVersionError : unsupported major.minor version 51.0
habe ich einige graben und fand heraus, es hat etwas mit der Anwendung zu tun auf einem JDK einer neueren Version kompiliert wird, als die JRE es läuft. Offenbar ist die 51 Mittel wurde für 1,7 gebaut, aber ich habe kein JDK 7 auf meinem Computer ...
Also machte ich sicher, dass alles auf die Version eingestellt ist 1,6:
system.properties Datei in die Wurzel enthält
java.runtime.version=1.6
hinzugefügt, um die maven Eigenschaft
<java.version>1.6</java.version>
die maven Compiler-Plugin in meinem pom.xml angegeben
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
überprüfte ich die Version meiner java den Befehl java -version verwendet, die nach dem Einstellen der Maven-Compiler-Plugin führte in Eclipse
Java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-bit Server VM (build 20.13-b02, mixed mode)
Und ein Update meines Projekts zurück automatisch den Compiler Pegeleinstellung bis 1.6, die Projektfacet-Ebene auf 1.6 und das Hinzufügen der JavaSE-1.6 jre Systembibliothek zu meinem Projekt.
Also ich habe absolut keine Ahnung wo dieses JDK 1.7 herkommt. Ich habe nie installiert JDK 1.7 auf diesem Computer zu beginnen mit ...
Auch ursprünglich war das Maven-Compiler-Plugin nicht vorhanden, so dass es mit 1,5 gebaut wurde, nehme ich an. Aber ich habe eine mvn clean install
, dann eine mvn package
, und versuchte dann den Befehl erneut, nachdem alle Einstellungen angepasst wurden und es immer noch den gleichen Fehler wirft.
Sie sind definitiv etwas fehlt. Überprüfen Sie Ihre Java-Version erneut. Überprüfen Sie in der Eingabeaufforderung: 'java -version' und' javac -version' –
Vielleicht benötigt eine Abhängigkeit Java 1.7 – Adrian
Java-Version und JavaC-Version beide zurück 1.6.0_38, aber ich kompilieren nicht wirklich mit der Eingabeaufforderung. Ich benutze es nur, um meine App zu starten. Ich kompiliere mit Maven, und dort benutze ich den Maven Plugn. –