openjfx 最近的升级破坏了我已安装的应用程序

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)
[...]

有一个未解决的错误发射台在各种 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.

相关内容