web-dev-qa-db-fra.com

MediathekView ne démarre pas à Kubuntu 18.10 (cosmique)

Dans Kubuntu 18.10 (cosmique), l'application MediathekView se bloque avec le message d'erreur suivant:

Java.lang.NoClassDefFoundError: com/jidesoft/utils/ThreadCheckingRepaintManager

Remarque: le message n'est visible que lorsque MediathekView est lancé à partir d'une console à l'aide de la commande mediathekview. Lorsque MediathekView est lancé à partir du lanceur, rien ne se passe (pas de message d'erreur, pas de rien).

2
Stéphane Tréboux

Ce problème n'existe pas avec les versions complètes de MediathekView qui peuvent être téléchargées à partir du site officiel ici ; cette version est livrée avec les bibliothèques manquantes dans un dossier lib; la version 13.2.1, la plus récente au moment de cette réponse a bien fonctionné pour moi. L'installation consiste uniquement à décompresser l'archive. Le fichier _MediathekView.jar_ démarre l'application, le dossier lib est requis pour le démarrage de l'application.

Démarrer MediathekView en utilisant la commande _Java -jar MediathekView.jar_ ne fonctionnera pas bien; cette nouvelle erreur est levée:

_Exception in thread "main" Java.lang.NoClassDefFoundError: javafx/concurrent/Task
_

JavaFX introuvable. D'abord, vous devez vous assurer que le paquet libopenjfx-Java est installé; puisqu'il s'agit d'une dépendance de MediathekView, il devrait être déjà installé. Ensuite, tous les fichiers JAR pour JavaFX doivent être ajoutés manuellement au chemin de classe lors du démarrage de MediathekView:

_Java -cp MediathekView.jar:/usr/share/Java/javafx-base-11.jar:/usr/share/Java/javafx-controls-11.jar:/usr/share/Java/javafx-fxml-11.jar:/usr/share/Java/javafx-graphics-11.jar:/usr/share/Java/javafx-media-11.jar:/usr/share/Java/javafx-swing-11.jar:/usr/share/Java/javafx-web-11.jar mediathek.Main
_

Vous pouvez ajouter un chemin devant _MediathekView.jar_ pour correspondre à l'emplacement où vous avez décompressé le package d'installation.

MediathekView devrait démarrer, l’écran de démarrage ne fonctionnera pas.

Et MediathekView a une vérification de version pointue Java intégrée et se plaindra de certains numéros de version de JDK spécifiques; par exemple, OpenJDK 11 fonctionnera, mais pas la version corrigée du bogue OpenJDK 11.0.1.

2
Stéphane Tréboux

Vous pouvez simplement copier la ligne suivante:

Java -cp MediathekView.jar:/usr/share/Java/javafx-base-11.jar:/usr/share/Java/javafx-controls-11.jar:/usr/share/Java/javafx-fxml-11.jar:/usr/share/Java/javafx-graphics-11.jar:/usr/share/Java/javafx-media-11.jar:/usr/share/Java/javafx-swing-11.jar:/usr/share/Java/javafx-web-11.jar mediathek.Main

dans le fichier mediathekview.sh.
Mettez-le dans la première ligne après les commentaires, alors cela fonctionnera si vous exécutez mediathekview.sh.

1
obri

Vérifiez la version de openjfx ("Sudo apt install openjfx" l’installe ou renvoie la version). Je suis sur 18.04 LTS. C'était donc 1.8.xx. Concernant Java J'ai plusieurs versions installées. Si la version correspondante n'est pas choisie (8), cette erreur a été signalée. Pour changer de version, utilisez "Sudo update-alternatives --config Java" qui indique quelles versions sont installées, quelle version est choisie et quel numéro vous devez insérer pour changer. Pour revérifier, vous pouvez entrer "Java --version".

0
Andreas_ddl

Non, vous ne pouvez pas "simplement copier cette ligne". Si vous le faites, vous recevrez l'erreur suivante:

Exception in thread "main" Java.lang.UnsupportedClassVersionError:   
javafx/concurrent/Task has been compiled by a more recent version of the Java Runtime  
(class file version 54.0),  
this version of the Java Runtime only recognizes class file versions up to 52.0 – 

parce que les libs mènent aux classes compilées par JDK11, et non JDK8.

0
Thomas Schweikle

Vous pouvez supprimer MediathekView et utiliser à la place MediathekViewWeb . Il a moins de fonctionnalités (voir le readme , allemand seulement) mais il ne nécessite aucune installation.

0