Nat*_*teW 10 java ubuntu javafx-8 openjfx
我正在尝试在 Ubuntu 20.10 上安装 OpenJDK 8 和 OpenJFX 8。
在 Ubuntu 上安装 openJFX 8 一直有点棘手,但我曾经能够使用这个 SO 答案中的提示来做到这一点:https : //stackoverflow.com/a/56166582/2423283以前工作得很好(我认为我使用的是 Ubuntu 19.something),但最近似乎已8u161-b12-1ubuntu2
被删除。
有关更多背景信息,我正在通过自动化管道中的 docker 文件安装它。以下是 Dockerfile 的相关部分:
FROM my.company.internal.registry:443/ubuntu:latest
RUN apt -y update && \
apt -y install \
openjdk-8-jdk \
openjfx=8u161-b12-1ubuntu2 \
libopenjfx-java=8u161-b12-1ubuntu2 \
libopenjfx-jni=8u161-b12-1ubuntu2
Run Code Online (Sandbox Code Playgroud)
这曾经运行得很好,但现在我得到:
E: Version '8u161-b12-1ubuntu2' for 'openjfx' was not found
E: Version '8u161-b12-1ubuntu2' for 'libopenjfx-java' was not found
E: Version '8u161-b12-1ubuntu2' for 'libopenjfx-jni' was not found
Run Code Online (Sandbox Code Playgroud)
我试着改变我ubuntu:latest
要ubuntu:19:10
在我FROM
的Dockerfile线,但我仍然有丢失的包错误。
我尝试删除这些版本限制(the =8u161-b12-1ubuntu2
),并且在安装过程中没有看到任何错误,但是当我编译我的代码时,找不到任何 JavaFX 类。
小智 5
我偶然发现了同样的问题,发现最简单的解决方案是使用 sdkman: https://sdkman.io/install
通过这三个命令,我能够在 Ubuntu 20.04 上安装带有 JavaFX 的 openjdk 8:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 8.0.252.fx-zulu
Liberica JDK 非常容易在支持 aptitude 包管理器的基于 Ubuntu / Debian 的操作系统上安装。
您所要做的就是添加官方 BellSoft 存储库:
wget -q -O - "https://download.bell-sw.com/pki/GPG-KEY-bellsoft" | sudo apt-key add -
echo "deb [arch=amd64] https://apt.bell-sw.com/ stable main" | sudo tee /etc/apt/sources.list.d/bellsoft.list
Run Code Online (Sandbox Code Playgroud)
然后更新你的包并安装完整的bellsoft java版本。使用完整版本非常重要,因为它是唯一带有 JFX 的版本。另请记住,apt purge
在安装此 java 版本之前,您应该通过卸载所有以前安装的 java 版本。
sudo apt-get update
sudo apt-get install bellsoft-java8-full
Run Code Online (Sandbox Code Playgroud)
bellsoft-java8-runtime-full
如果您只需要 JRE,则可以使用它来节省一些空间。安装完成后,使用 JavaFX 的应用程序就可以正常工作了。
apt update
如果您没有使用 Ubuntu 存储库,因为您使用的是 Debian,例如,您需要输入以下命令以确保Bellsoft 存储库没有验证错误。
#Use this only in case there is a verification error on update
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys 32E9750179FCEA62
Run Code Online (Sandbox Code Playgroud)
如果您没有使用带有 aptitude 包管理器的操作系统,那么还支持其他一些包管理器,例如 yum 和 yast。点击这里
归档时间: |
|
查看次数: |
7767 次 |
最近记录: |