MediathekView in OpenSUSE
-
Nach meinem letzten update in Tumbleweed funktioniert MediathekView nicht mehr mit folgender Fehlermeldung:
“Exception in thread “main” java.lang.UnsupportedClassVersionError: mediathek/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0”
Ich habe die letzte version (MediathekView-13.3.0-15.1.noarch) von Herbster0815 - in diesem Forum unter nonamefound - installiert. Ich nehme an da muss wohl eine neue version gebaut werden die Java Runtime version 55.0 akzeptiert oder weiss da jemand eine andere Loesung?
Uebrigens gibt es die gleich Fehlermeldung in Leap 15.1 -
@ulifue du hast Java 8 auf deinem System installiert. Du benötigst die Java 11 Umgebung für 13.3. Daher kann dein Java nicht die neuen Dateien lesen.
-
Ich habe java-1_8_0-openjdk, java-1_8_0-openjfx und java-12-openjdk installiert aber nicht java-11. langt das nicht?
-
@ulifue meine Frage dazu ist: mit welcher Java Version wird MV letztlich ausgeführt?
mach mal im Terminal Fenster / Shell / Kommandozeile so was wie- echo $JAVA_HOME
- $JAVA_HOME/bin/java -version
- java -version
Wenn das java executable nicht mit mindestens java 11 antwortet, kommt ein anderes Java zum Zug als benötigt… ohne Gewähr
-
Danke, rubikon hier ist das Ergebnis:
uli@linux-4skc:~> echo $JAVA_HOME
/usr/lib64/jvm/java
uli@linux-4skc:~> $JAVA_HOME/bin/java -version
openjdk version “12.0.1” 2019-04-16
OpenJDK Runtime Environment (build 12.0.1+12-suse-1.16-x8664)
OpenJDK 64-Bit Server VM (build 12.0.1+12-suse-1.16-x8664, mixed mode)
uli@linux-4skc:~> java -version
openjdk version “1.8.0_222”
OpenJDK Runtime Environment (IcedTea 3.13.0) (build 1.8.0_222-b10 suse-1.1-x86_64)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
uli@linux-4skc:~> -
@ulifue
Also hast Du einmal Java 12 erwischt und einmal Java 8.
Und wenn Du mal, nur für Spaß, versuchst, MV zu Fuß zu starten?cd path/to/MediathewView
$JAVA_HOME/bin/java -jar MediathekView.jarDenn, dem Anschein nach ist bei Dir unter JAVA_HOME das Java 12 eingetragen… aber im PATH kommt irgendwie Java 8 zuerst dran… würd ich als Windoof Nutzer mal so sagen
-
Ja, vielen Dank rubikon - das funktioniert!
-
@ulifue ok. Dann würd ich sagen:
nimm mal den Texteditor Deines Vertrauens und öffne die Starterdatei MediathekView.sh (vorher Sicherungskopie machen, falls mein Tip Käse ist!!)
und darin ist ne Zeile 11 in der wird geprüftif [ -n “$JAVA_HOME” ]; bla
und mach statt dessen bitte
if [ ! -z “$JAVA_HOME” ]; bla
sh. https://www.cyberciti.biz/faq/unix-linux-bash-script-check-if-variable-is-empty/
und lass bitte bitte bitte sämtliche sämtliche Leerzeichen rund um die eckigen Klammern stehen. Die müssen da.
Dann die .sh Datei speichern und MV “normal” starten. Geht das auch?
Ich bin zu eingerostet in shell script, aber das -n statt ! -z könnte eventuell mit Glück die Ursache sein, dass bei Dir offenbar trotz nicht-leerem JAVA_HOME das else vom Starterskript greift und damit das java 8 aus dem PATH dran kommt anstatt das in JAVA_HOME gesetzte Java 12… -
Das ist bei mir anders, allerdings steht in Zeile 3: “JAVA_HOME=/etc/alternatives/jre_11” und das koennte ich wohl aendern.Ich habe es jedoch anders gemacht - ich rufe die Mediathek nun mit:
cd /usr/share/java/Mediathek; $JAVA_HOME/bin/java -jar MediathekView.jar
auf. Hier ist das ja einfach da die Kommandos in der history sind - da muss ich es nicht neu eingeben. -
Guten Morgen,
ich habe das RPM aktualisiert, so dass jetzt auf jeden Fall java 11 benötigt wird. Bei meinen Tests war das nicht nötig, da hatte die Sache mit /etc/alternatives ausgereicht.
Du musst dich allerdings selbst darum kümmern, Java 8 runter zuwerfen, das möchte ich nicht ins Paket einbauen.