Cómo seguir utilizando lanzadores Java Web Start en GNU/Linux

IcedTea-Web es un proyecto que implementa la tecnología de Java Web Start con software libre. Esta tecnología permite lanzar aplicaciones desde sitios web mediante la apertura de un fichero con extensión JNLP. Esta tecnología ha dejado de tener soporte por parte de Oracle, que es propietaria de la marca Java, sin embargo otras empresas y la comunidad mantienen esfuerzos en seguir dando soporte a estos lanzadores, ahora desde el proyecto AdoptOpenJDK.

Aunque hay un proyecto llamado OpenWebStart cuyo objetivo es mantener la compatibilidad de Java Web Start con Java 11 y posteriores, en las distribuciones todavía es posible instalar el entorno de ejecución de Java (JRE) de la versión 8 y hacer que IcedTea-Web haga uso de esta máquina virtual, ya que aunque se configure por defecto que el comando java se pueda usar con una versión anterior, con javaws en versiones recientes de las distribuciones, como en los nuevos Ubuntu o Fedora, se está vinculando con una versión más reciente de Java y que es incompatible con muchos lanzadores Web Start existentes que no han sido actualizados para que sean compatibles con esas versiones de Java, normalmente en sus versiones LTS 11 o 17.

En este artículo se presenta una propuesta para configurar javaws para que haga uso de Java 8 en lugar de una versión de Java más reciente.

Configuración global para Web Start

Aunque existe una herramienta gráfica para realizar esto con pocos clics llamada itweb-settings, esta herramienta solo lo aplica para el usuario local y habría que configurarlo para todos los usuarios nuevos del sistema creados posteriormente. Desde este artículo se fomenta la configuración global para todos los usuarios de la máquina y que persista en los nuevos y para que resulte más útil para configuración y despliegues automatizados en ambientes con múltiples máquinas y usuarios, como ya se sugiere en los artículos de instalación de Firma Digital en GNU/Linux.

  • En el caso de Ubuntu 20.04 el paquete IcedTea-Web se llama icedtea-netx y el paquete de entorno de ejecución de Java 8 se llama openjdk-8-jre los cuales se pueden instalar desde los repositorios oficiales. No es necesario utilizar la versión de Oracle en ningún caso, ni se recomienda. En Debian el paquete de Java 8 podría estar disponible únicamente en el repositorio unstable, que requeriría actualizar glibc.
    sudo apt -y install openjdk-8-jre icedtea-netx
  • En el caso de Fedora el paquete IcedTea-Web se llama icedtea-web y el paquete de entorno de ejecución de Java 8 se llama java-1.8.0-openjdk los cuales se pueden instalar desde los repositorios oficiales. No es necesario utilizar la versión de Oracle en ningún caso, ni se recomienda.
    sudo dnf -y install java-1.8.0-openjdk icedtea-web
  • Desde una terminal de comandos o desde un programa, crear, si no existe, el directorio /etc/.java/deployment/:
    sudo mkdir -p /etc/.java/deployment
  • En ese directorio, editar o crear si no existiera, el fichero deployment.properties; se puede abrir para edición por ejemplo con el comando gedit en entornos de escritorio GNOME:
    sudo gedit /etc/.java/deployment/deployment.properties

    Dentro del fichero debería agregarse, o editarse si existiera, una línea con el valor deployment.jre.dir seguido del signo igual (=) y tras el signo agregar la ruta al JRE de la versión 8, como es por ejemplo en Ubuntu 20.04, /usr/lib/jvm/java-1.8.0-openjdk-amd64:

    deployment.jre.dir=/usr/lib/jvm/java-1.8.0-openjdk-amd64
  • En el caso de Fedora se puede usar /usr/lib/jvm/jre-1.8.0:

    deployment.jre.dir=/usr/lib/jvm/jre-1.8.0

    A partir de esta configuración una vez aplicada, javaws debería hacer uso de la versión 8 de Java, haciendo que despliegues por Web Start como los de la CCSS y otros como la modalidad Web Start del proyecto Firmador sigan funcionando durante unos cuantos años más.

3 comentarios en “Cómo seguir utilizando lanzadores Java Web Start en GNU/Linux

  1. Julio:

    Muchas gracias, Francisco. He dado varias vueltas hasta que por fin he dado con tu post y me ha solucionado el problema. Muchas gracias de nuevo por tu ayuda.

Responder a Sheita

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *