В Kubuntu 18.10 (космическом) приложение, MediathekView отказывает со следующим сообщением об ошибке:
java.lang.NoClassDefFoundError: com/jidesoft/utils/ThreadCheckingRepaintManager
Комментарий: сообщение только видимо, когда MediathekView запускается с консоли с помощью команды mediathekview
. Когда MediathekView запускается со средства запуска, ничего не происходит (никакое сообщение об ошибке, нет ничто).
Эта проблема не существует с полными версиями MediathekView, который может быть загружен с официального сайта здесь; эта версия идет с недостающими библиотеками внутри a lib
папка; версия 13.2.1, последнее во время этого ответа работало хорошо на меня. Установка только состоит из распаковки архива. Файл MediathekView.jar
запускает приложение, lib
папка требуется, чтобы приложение запустилось.
Запуск MediathekView с помощью команды java -jar MediathekView.jar
не будет работать хотя; эта новая ошибка брошена:
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/concurrent/Task
По некоторым причинам JavaFX не найден. Сначала необходимо удостовериться что пакет libopenjfx-java
установлен; так как это - зависимость MediathekView, это должно быть уже установлено. Затем все файлы JAR для JavaFX должны быть добавлены вручную к пути к классу при запуске 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
Можно добавить путь перед MediathekView.jar
соответствовать местоположению, где Вы распаковали пакет установки.
MediathekView должен запуститься, экран-заставка не будет работать все же.
И MediathekView имеет придирчивую проверку версии Java, встроил и будет жаловаться на с некоторыми определенными номерами выпуска JDK; например, OpenJDK 11 будет работать, но не исправленная версия OpenJDK 11.0.1 ошибки.
Можно просто скопировать следующую строку:
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
в файле mediathekview.sh
.
Поместите его в первую строку после комментариев, затем это будет работать, если Вы будете работать mediathekview.sh
.
Нет, Вы не можете "просто скопировать ту строку". Если Вы сделаете, то Вы получите очень следующую ошибку:
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 –
потому что lib
s приводят к классам, скомпилированным JDK11 и не JDK8.
Можно удалить MediathekView и использовать MediathekViewWeb вместо этого. Это имеет меньше функций (см. readme, только немецкий язык), но это не требует никакой установки.
Проверьте версию openjfx ("sudo, способная установка openjfx" устанавливает его или возвращает версию). Я нахожусь на 18.04 LTS. Таким образом, это было 1.8.xx. Касающийся Java у меня есть несколько установленных версий. Если не соответствующая версия выбрана (8), об этой ошибке сообщили. Для переключения использования версий "sudo альтернативы обновления - конфигурируют Java", который указывает, какие версии установлены, который выбран и какое число необходимо вставить в переключатель. Перепроверять Вас может ввести "Java - версия".