web-dev-qa-db-ja.com

Ubuntu 20にopenJDK + openJFX 8をインストールする

OpenJDK 8とOpenJFX 8をUbuntu 20.10にインストールしようとしています。

UbuntuでのopenJFX 8のインストールは常に少しトリッキーでしたが、私はこれからのヒントを使用してそれを行うことができましたSO答え: https://stackoverflow.com/ a/56166582/242328 以前はうまく機能していましたが(私は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

これは以前は問題なく実行されていましたが、次のようになりました。

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

これまでに試したこと

DockerfileのFROM行でubuntu:latestubuntu:19:10に変更しようとしましたが、パッケージが見つからないというエラーが発生します。

これらのバージョン制限(=8u161-b12-1ubuntu2)を削除しようとしたところ、インストール中にエラーは発生しませんでしたが、コードをコンパイルしたところ、JavaFXクラスが見つかりませんでした。

4
NateW

Oracle JDKを使用する(一時的な回避策としても)

私はすでにこれを18.04の この質問への回答で述べました

Javafxで少し基本的な練習を探しているすべての学習者にとって、OracleのJava 8(javafxが組み込まれている)をインストールすることは、オープンパッケージをいじるよりも良い解決策になるかもしれません。すばらしい ここの説明

Openjfxをインストールする作業を続けることができますが、これは学習を継続します。

私はDockerファイルと自動パイプラインについて何も知りませんが、この質問に来る多くの人々は手動インストールをしている初期の学習者だと思います。

注意:この回避策は、OPへのコメントでaranによってすでに提案されています。そのコメントの賛成を検討してください。

0
pateksan

Lapica JDK/JREをAptitudeからインストールします

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

そして、パッケージを更新して、ベルソフトのフルバージョンをインストールしますJava=バージョンです。JFXに付属しているのはフルバージョンだけなので、フルバージョンを使用することが重要です。また、以前にインストールしたすべてのアンインストールJavaバージョンをapt purge経由でインストールしてから、このJavaバージョンをインストールしてください。

Sudo apt-get update
Sudo apt-get install bellsoft-Java8-full

JREのみが必要な場合は、bellsoft-Java8-runtime-fullを使用してスペースを確保できます。インストールが完了すると、JavaFXを使用するアプリケーションは問題なく動作します。

たとえばDebianを使用しているためにUbuntuリポジトリを使用していない場合は、次のコマンドを入力して、Bellsoftリポジトリのapt updateに確認エラーがないことを確認する必要があります。

#Use this only in case there is a verification error on update
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys 32E9750179FCEA62

Aptitudeパッケージマネージャーでオペレーティングシステムを使用していない場合は、yumやyastなどの他のパッケージマネージャーもサポートされています。 ここをクリック

0
Dominik K