Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich bekomme zurezeit JNI Fehler. Das Programm wurde mit Java 17 kompilliert und "soll" mit Java ausgeführt werden. Ich würde gerne die JRE auf Java 17 updaten, aber ich finde keine JREs ab Java 8, auf java.com gibt es keine Java 17 Version.
Ich vermute, dass ich grundlegend etwas nicht verstanden habe, daher dieser Thread.
Warum gibt es keine JRE ab Java 8 mehr?
Je nach Einsatzzweck beziehungsweise den Anforderungen deiner Applikation, kannst du dir vielleicht auch einfach OpenJDK holen stattdessen, wenn du nicht die Oracle spezifischen Klassen brauchst. Also die JDK/JRE ist ja FLOSS, und es gibt dann eben die OpenJDK Builds davon, und auch die von Oracle, wobie die von Oracle noch ein paar Sachen enthalen, glaube ich, welche nicht in OpenJDK enthalten sind. Aber der Unterschied ist vermutlich vernachlaessigbar wenn du nicht direkt com.sun verwendest.
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: View has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Ja, ist richtig, dass ist mit einer Java 17 kompiliert worden, aber das System auf welchem du es ausfuehrst hat ein Java 8 installiert.
Also entweder installierst du auf dem Ziel-System ein Java 17 *oder neuer*, oder du kompilierst die Applikation mit 8/1.8 als Ziel-Plattform. Letzteres ist vielleicht nicht ohne weiteres moeglich. Downloads von Oracle gibt es fuer neue Versionen nur als JDK, aber das kannst du dir trotzdem installieren, weil die JRE ist immer inkludiert (auszer Oracle hat shcon wieder etwas geaendert von dem ich nichts mitbekommen habe).
Also zur Erklaerung wsa mit JRE/JDK passiert ist, die Idee von Oracle ist dass man Java Applikationen nicht mehr als jars ausliefert, sondern als Native-Images. Da braucht man dann auf dem Ziel-System keine JRE mehr, und deswegen von deren Seite eingestampft. Oder zumindest habe ich das so verstanden. Andere bieten sehr wohl noch die JRE extra an, wenn ich mich richtig erinnere. Am Ende spielt es aber eigentlich keine Rolle ob man JRE oder JDK installiert. Die JDK hat die JRE auf jeden Fall dabei und die JDK braucht nur mehr Speicher auf Platte.
Also zur Erklaerung wsa mit JRE/JDK passiert ist, die Idee von Oracle ist dass man Java Applikationen nicht mehr als jars ausliefert, sondern als Native-Images. Da braucht man dann auf dem Ziel-System keine JRE mehr, und deswegen von deren Seite eingestampft. Oder zumindest habe ich das so verstanden. Andere bieten sehr wohl noch die JRE extra an, wenn ich mich richtig erinnere. Am Ende spielt es aber eigentlich keine Rolle ob man JRE oder JDK installiert. Die JDK hat die JRE auf jeden Fall dabei und die JDK braucht nur mehr Speicher auf Platte.