web-dev-qa-db-fra.com

Installez openJDK + openJFX 8 sur Ubuntu 20

J'essaye d'installer OpenJDK 8 et OpenJFX 8 sur Ubuntu 20.10.

L'installation d'openJFX 8 a toujours été un peu délicate sur Ubuntu, mais je pouvais le faire en utilisant l'astuce de ceci SO answer: https://stackoverflow.com/ a/56166582/242328 Cela fonctionnait très bien (je pense que j'utilisais Ubuntu 19. quelque chose), mais il semble que récemment 8u161-b12-1ubuntu2 a été éliminé.

Pour plus d'informations générales, j'installe ceci via un fichier docker dans un pipeline automatisé. Voici les parties pertinentes du 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

Cela fonctionnait très bien, mais maintenant je reçois:

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

Ce que j'ai essayé jusqu'à présent

J'ai essayé de changer mon ubuntu:latest à ubuntu:19:10 dans ma ligne FROM dans le Dockerfile, mais j'ai toujours les erreurs de paquets manquants.

J'ai simplement essayé de supprimer ces restrictions de version (le =8u161-b12-1ubuntu2) et je n'ai vu aucune erreur lors de l'installation, mais lorsque j'ai compilé mon code, aucune des classes JavaFX n'a ​​pu être trouvée.

4
NateW

Utilisez Oracle JDK (même si ce n'est qu'une solution temporaire)

Je l'ai déjà dit tout à l'heure dans une réponse à cette question pour 18.04

Pour tous les apprenants à la recherche d'un peu de pratique de base avec javafx, installer Oracle Java 8 (qui a javafx intégré) pourrait être une meilleure solution que de déconner avec des packages ouverts. instructions ici

Vous pouvez poursuivre vos efforts pour installer openjfx, mais cela permettra de poursuivre votre apprentissage.

Je ne sais rien sur les fichiers docker et les pipelines automatisés, mais je soupçonne que beaucoup de gens qui viennent à cette question ne sont que des apprenants précoces qui effectuent une installation manuelle.

NB cette solution de contournement a déjà été suggérée par aran dans un commentaire au PO, veuillez envisager de voter pour ce commentaire.

0
pateksan

Installer Liberica JDK/JRE via Aptitude

Liberica JDK est assez facile à installer sur les systèmes d'exploitation Ubuntu/Debian qui supportent le gestionnaire de paquets aptitude.

Tout ce que vous avez à faire est d'ajouter le référentiel officiel de 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

Et après cela, mettez à jour vos packages et installez la version complète de bellsoft Java version. Il est important que vous utilisiez la version complète, car c'est la seule fournie avec JFX. Gardez également à l'esprit que vous devez désinstaller toutes les versions précédemment installées Java versions via apt purge avant d'installer ceci Java version.

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

Vous pouvez utiliser bellsoft-Java8-runtime-full pour libérer de l'espace si vous n'avez besoin que du JRE. Une fois l'installation terminée, les applications utilisant JavaFX fonctionnent parfaitement.

Si vous n'utilisez pas le référentiel Ubuntu parce que vous utilisez Debian, par exemple, vous devez entrer la commande suivante pour vous assurer qu'il n'y a pas d'erreur de vérification sur apt update pour le référentiel Bellsoft.

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

Si vous n'utilisez pas de système d'exploitation avec le gestionnaire de paquets aptitude, d'autres gestionnaires de paquets comme yum et yast sont également pris en charge. Cliquez ici

0
Dominik K