Was bedeutet die java Fehlermeldung "java.lang.UnsupportedClassVersionError"?

2 Antworten

a) Kompiliere deine Java-Quellen mit der gleichen oder älteren Version des Java-Compilers, die für die Ausführung verwendet wird. dh installiere das entsprechende JDK.

b) Kompiliere deine Java-Quellen mit der neueren Version des Java-Compilers, aber im Kompatibilitätsmodus. Verwende den Parameter target

c) Führe deine kompilierten Klassen in einer JRE aus, die die gleiche oder eine neuere Version ist wie das JDK, das zum Kompilieren der Klassen verwendet wurde.

Du kannst überprüfen, welche Versionen du gerade verwendest, mit javac -version für den Compiler und java -version für die Laufzeit.

Woher ich das weiß:Recherche

Das kann unter Anderem daran liegen, dass Du in der IDE eine andere Bukkit/Spigot.jar hast als auf dem Server.

Oder dass es mit einer falschen Java-Version kompiliert wurde.. Wenn Du das JDK 13.0.2 für die Programmierung nutzt, aber auf dem Server eine ältere Version installiert ist, kommt es zu dem Fehler.

Am besten schickst Du uns den gesamten Stackstrace. Denn erst dann kann das Problem näher betrachtet werden.

Woher ich das weiß:Hobby – Langjährige Programmiererfahrung

Minecraftler916 
Beitragsersteller
 16.04.2020, 10:17

[10:14:27 ERROR]: Could not load 'plugins\Tutorial.jar' in folder 'plugins'

org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: de/wonkie/tutorial/main/Main has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0

       at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]

       at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]

       at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot.jar:git-Spigot-c3c767f-33d5de3]

       at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugins(CraftServer.java:291) [spigot.jar:git-Spigot-c3c767f-33d5de3]

       at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:152) [spigot.jar:git-Spigot-c3c767f-33d5de3]

       at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [spigot.jar:git-Spigot-c3c767f-33d5de3]

       at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]

Caused by: java.lang.UnsupportedClassVersionError: de/wonkie/tutorial/main/Main has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0

       at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_241]

       at java.lang.ClassLoader.defineClass(Unknown Source) ~[?:1.8.0_241]

       at java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:1.8.0_241]

       at java.net.URLClassLoader.defineClass(Unknown Source) ~[?:1.8.0_241]

       at java.net.URLClassLoader.access$100(Unknown Source) ~[?:1.8.0_241]

       at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_241]

       at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_241]

       at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_241]

       at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_241]

       at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]

       at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]

       at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

       at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

       at java.lang.Class.forName0(Native Method) ~[?:1.8.0_241]

       at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_241]

       at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]

       at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]

       ... 6 more

Ichhabe jz einmal die gsamte Fehlermeldung kopiert und eingfügt

0
TheHunter147  16.04.2020, 10:29
@Minecraftler916
Caused by: java.lang.UnsupportedClassVersionError: de/wonkie/tutorial/main/Main has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Auf Deutsch:

Verursacht durch: java.lang.UnsupportedClassVersionError: de/wonkie/tutorial/main/Main wurde von einer neueren Version der Java Runtime (Klassendatei Version 57.0) kompiliert, diese Version der Java Runtime erkennt nur Klassendatei-Versionen bis 52.0

Also ist es so, wie ich bereits sagte. Der Server nutzt eine ältere Version der Java Runtime, während Du in deiner Entwicklungsumgebung eine neuere verwendest.

Lösung: Entweder auf dem Server die aktuellste Runtime installieren, oder das Projekt mit einer älteren Version exportieren.

0