JRE in Kubuntu erlaubt mir nicht, .jar-Dateien auszuführen

JRE in Kubuntu erlaubt mir nicht, .jar-Dateien auszuführen

Ich habe Probleme beim Ausführen einer .jar-Anwendung auf Kubuntu. Ich habe eine Anwendung in NetBeans unter Windows erstellt und sie in eine .jar-Datei kompiliert. Zuerst konnte Windows die Hauptklasse nicht finden. Ich habe im Internet gesucht und einige Registrierungswerte für die JRE korrigiert und jetzt funktioniert alles einwandfrei. Das gleiche Problem ist jedoch in Kubuntu aufgetreten, aber ich kann nichts Hilfreiches finden. Ich habe sogar versucht, die .jar-Datei zu entpacken und den Klassenpfad in der Manifestdatei mit vielen verschiedenen Pfadadressen zu ändern, aber nichts funktioniert.

Da das Problem in Windows an der JRE und nicht an meiner Anwendung lag, gehe ich davon aus, dass dasselbe in Kubuntu passiert. Ein wichtiger Hinweis ist, dass ich NetBeans auch auf Kubuntu installiert habe und wenn ich die Anwendung unter Netbeans debugge oder ausführe, funktioniert sie einwandfrei, aber wenn ich sie kompiliere und versuche, sie mit Folgendem auszuführen:

java -jar "MBoxTest.jar"

Ich erhalte die gleichen Fehler wie unter Windows, einschließlich des letzten, der besagt, dass die Hauptklasse nicht gefunden werden kann:

Exception in thread "main" java.lang.UnsupportedClassVersionError: my/mboxtestui/MBoxTestUI : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: my.mboxtestui.MBoxTestUI. Program will exit.

Antwort1

Sie führen Code einer höheren Version ( 51= java7) auf einer JVM mit niedrigerer Version aus. Kompilieren Sie Ihren Code daher und führen Sie ihn auf derselben JDK-Version aus. Ich vermute, dass Sie möglicherweise mehr als eine Version der Java-Runtime installiert haben.

verwandte Informationen