Estoy intentando instalar OpenJDK 8 y OpenJFX 8 en Ubuntu 20.10.
Instalar openJFX 8 siempre ha sido un poco complicado en Ubuntu, pero solía poder hacerlo usando la sugerencia de esta respuesta SO: https://stackoverflow.com/a/56166582/2423283 Eso solía funcionar bien (creo Estaba usando Ubuntu 19.algo), sin embargo, parece que recientemente se 8u161-b12-1ubuntu2 .
Para obtener más información de fondo, estoy instalando esto a través de un archivo docker en una canalización automatizada. Aquí están las partes relevantes del 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-1ubuntu2Esto solía funcionar bien, pero ahora obtengo:
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 Intenté cambiar mi ubuntu:latest a ubuntu:19:10 en mi línea FROM en Dockerfile, pero aún recibí los errores de paquetes faltantes.
Intenté simplemente eliminar esas restricciones de versión ( =8u161-b12-1ubuntu2 ) y no vi ningún error durante la instalación, pero luego, cuando compilé mi código, no se pudo encontrar ninguna de las clases de JavaFX.
Me encontré con el mismo problema y descubrí que la solución más fácil es usar sdkman: https://sdkman.io/install
Con estos tres comandos pude tener openjdk 8 con JavaFX instalado en Ubuntu 20.04:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 8.0.252.fx-zulu
Si está configurado para usar JDK 8 y JavaFX, he descubierto que es mejor instalar un OpenJDK que incluya JavaFX.
Para la versión 8, no todos los OpenJDK incluyen JavaFX (por ejemplo, AdoptOpenJDK). Los mejores que he encontrado son
Liberica proporciona compilaciones para raspberry pi y una amplia variedad de otras arquitecturas. Si necesita eso, Liberica es el camino a seguir.
Ya dije esto hace un momento en una respuesta a esta pregunta para 18.04
Para cualquier estudiante que busque un poco de práctica básica con javafx, instalar Java 8 de Oracle (que tiene javafx incorporado) podría ser una mejor solución que jugar con paquetes abiertos. Hay excelentes instrucciones aquí.
Puede continuar los esfuerzos para instalar openjfx, pero esto mantendrá su aprendizaje.
No sé nada acerca de los archivos docker y las canalizaciones automatizadas, pero sospecho que muchas personas que llegan a esta pregunta son solo principiantes que realizan una instalación manual.
NB: esta solución ya ha sido sugerida por aran en un comentario al OP, considere votar ese comentario.
Liberica JDK es bastante fácil de instalar en sistemas operativos basados en Ubuntu/Debian que admiten el administrador de paquetes aptitude.
Todo lo que tiene que hacer es agregar el repositorio oficial 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 Y después de eso, actualice sus paquetes e instale la versión completa de Bellsoft Java. Es importante que utilice la versión completa, ya que es la única que viene con JFX. También tenga en cuenta que debe desinstalar todas las versiones de Java instaladas previamente a través de apt purge antes de instalar esta versión de Java.
sudo apt-get update sudo apt-get install bellsoft-java8-full Puede usar bellsoft-java8-runtime-full para asegurar algo de espacio si solo necesita el JRE. Una vez completada la instalación, las aplicaciones que usan JavaFX funcionan bien.
En caso de que no esté usando el repositorio de Ubuntu porque está usando Debian, por ejemplo, debe ingresar el siguiente comando para asegurarse de que no haya un error de verificación en la apt update para el repositorio de Bellsoft.
#Use this only in case there is a verification error on update apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys 32E9750179FCEA62Si no está utilizando un sistema operativo con el administrador de paquetes aptitude, también hay otros administradores de paquetes compatibles como yum y yast. haga clic aquí