Недавнее обновление openjfx сломало мое установленное приложение

Сегодня я побежал apt upgrade на моем Ubuntu 18.04 LTS и после этого установленное приложение JavaFX 8 (инструмент, разработанный внутри) перестал работать.

Запуск приложения приводит только к следующей ошибке:

$ java -jar app.jar
Error: Could not find or load main class ui.Main

1 ответ

Решение

Как оказалось, Canonical решила выпустить новую версию openjfx. (Кстати, есть ли место, где можно увидеть такие изменения версии / решения?)

Соответствующая информация может быть найдена в /var/log/apt/history.log:

Start-Date: 2019-04-29  07:10:19
Commandline: apt upgrade
Requested-By: tannerli
Install: [snip]
Upgrade: [...]
openjfx:amd64 (8u161-b12-1ubuntu2, 11.0.2+1-1~18.04.2)
openjfx-source:amd64 (8u161-b12-1ubuntu2, 11.0.2+1-1~18.04.2)
libopenjfx-java:amd64 (8u161-b12-1ubuntu2, 11.0.2+1-1~18.04.2)
libopenjfx-jni:amd64 (8u161-b12-1ubuntu2, 11.0.2+1-1~18.04.2)
[...]

На LaunchPad есть открытая ошибка и довольно много похожих вопросов на различных сайтах StackExchange, касающихся этого, например этого. Ни один из них не соответствует моим конкретным потребностям. Кажется, что по сей день нет реального решения, только

Временное решение

Явно понизьте все пакеты openjfx до предыдущей версии:

$ sudo apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 openjfx-source=8u161-b12-1ubuntu2

Задержите поврежденные пакеты, чтобы следующий apt upgrade не сломать вещи снова:

$ sudo apt-mark hold libopenjfx-java libopenjfx-jni openjfx openjfx-source

Это будет отображаться как информация при обновлении в следующий раз:

$ sudo apt upgrade
[...]
The following packages have been kept back:
  libopenjfx-java libopenjfx-jni openjfx openjfx-source
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Другие вопросы по тегам