Tutorial

Cómo instalar Java con Apt en Ubuntu 20.04

JavaUbuntu 20.04

Introducción

Se necesitan Java y JVM (la máquina virtual de Java) para muchos tipos de software, como Tomcat, Jetty, Glassfish, Cassandra y Jenkins.

A través de esta guía, instalará varias versiones de Java Runtime (JRE) y el kit de desarrollo de Java (JDK) utilizando apt. Instalará OpenJDK y la versión oficial de JDK de Oracle. Luego, seleccionará la versión que desee utilizar para sus proyectos. Cuando termine, podrá utilizar el JDK para desarrollar software o emplear Java Runtime para ejecutar software.

Requisitos previos

Para este tutorial, necesitará lo siguiente:

Instalación de JRE y del JDK predeterminados

La opción más sencilla para instalar Java es utilizar la versión que forma parte del paquete de Ubuntu. Por defecto, Ubuntu 20.04 incluye Open JDK 11, que es una variante de código abierto de JRE y JDK.

Para instalar esta versión, primero actualice el índice de paquetes:

  • sudo apt update

A continuación, compruebe si Java ya está instalado:

  • java -version

Si Java no está instalado, verá el siguiente resultado:

Output
Command 'java' not found, but can be installed with: sudo apt install default-jre # version 2:1.11-72, or sudo apt install openjdk-11-jre-headless # version 11.0.7+10-3ubuntu1 sudo apt install openjdk-13-jre-headless # version 13.0.3+3-1ubuntu2 sudo apt install openjdk-14-jre-headless # version 14.0.1+7-1ubuntu1 sudo apt install openjdk-8-jre-headless # version 8u252-b09-1ubuntu1

Para instalar Java Runtime Environment (JRE) predeterminado, ejecute el siguiente comando que instalará JRE desde OpenJDK 11:

  • sudo apt install default-jre

JRE le permitirá ejecutar casi todo el software de Java.

Verifique la instalación con lo siguiente:

  • java -version

Verá el siguiente resultado:

Output
openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Es posible que necesite el kit de desarrollo de Java (JDK) además de JRE para compilar y ejecutar algunos programas específicos basados en Java. Para instalar JDK, ejecute el siguiente comando, que también instalará JRE:

  • sudo apt install default-jdk

Verifique que el JDK se haya instalado revisando la versión de javac, el compilador de Java:

  • javac -version

Verá el siguiente resultado:

Output
javac 11.0.7

A continuación, veremos la forma de instalar las versiones oficiales del JDK y de JRE de Oracle.

Instalación de Oracle JDK 11

El acuerdo de concesión de licencias para Java de Oracle no permite la instalación automática mediante los administradores de paquetes. Para instalar el JDK de Oracle, que es la versión oficial que distribuye Oracle, debe crear una cuenta de Oracle y descargar manualmente JDK para agregar un nuevo repositorio de paquetes para la versión que le gustaría utilizar. Luego, puede utilizar apt para instalarlo con ayuda de una secuencia de comandos de instalación de terceros.

La versión de JDK de Oracle que deberá descargar debe coincidir con la versión de la secuencia de comandos del instalador. Para saber qué versión necesita, consulte la página oracle-java11-installer.

Localice el paquete para Focal, como se muestra en la siguiente imagen:

Paquete del instalador para Ubuntu 20.04

En esta imagen, la versión de la secuencia de comandos es 11.0.7. En este caso, necesitará Oracle JDK 11.0.7. No necesita descargar nada de esta página; descargará la secuencia de comandos de instalación a través de apt en breve.

A continuación, visite la página de descargas y localice la versión que necesita.

Oracle Java 11

Haga clic en el botón JDK Download (Descargar JDK) y se le redirigirá a una pantalla en la que se muestran las versiones disponibles. Haga clic en el paquete .tar.gz para Linux.

Descarga de Linux

Se le presentará una pantalla en la que se le solicitará aceptar el acuerdo de concesión de licencias de Oracle. Seleccione la casilla de verificación para aceptar el acuerdo de licencia y presione el botón Download. Se iniciará la descarga. Es posible que deba iniciar sesión en su cuenta de Oracle una vez más antes de que se inicie la descarga.

Una vez que el archivo se haya descargado, deberá transferirlo al servidor. En su equipo local, cargue el archivo al servidor. En macOS, Linux o Windows que usan el subsistema de Windows para Linux, utilice el comando scp para transferir el archivo al directorio principal de su usuario sammy. El siguiente comando supone que ha guardado el archivo de JDK de Oracle a la carpeta Downloads de su equipo local:

  • scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~

Cuando el archivo haya terminado de cargarse, vuelva al servidor y agregue el repositorio de terceros que le ayudará a instalar Java de Oracle.

Instale el paquete software-properties-common, que agrega a su sistema el comando add-apt-repository:

  • sudo apt install software-properties-common

A continuación, importe la clave de firma que sirve para verificar el software que está a punto de instalar:

  • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

Verá este resultado:

Output
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1

Luego, utilice el comando add-apt-repository para agregar el repositorio a su lista de fuentes de paquetes:

  • sudo add-apt-repository ppa:linuxuprising/java

Verá este mensaje:

Output
Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian. Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required. The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java Created for users of https://www.linuxuprising.com/ Installation instructions (with some tips), feedback, suggestions, bug reports etc.: . . . Press [ENTER] to continue or ctrl-c to cancel adding it

Presione ENTER para continuar con la instalación. Es posible que vea el mensaje no valid OpenPGP data found (no se encontraron datos de OpenPGP válidos), pero puede ignorarlo de forma segura.

Actualice la lista de paquetes para lograr que el nuevo software esté disponible para la instalación:

  • sudo apt update

El instalador buscará el JDK de Oracle que descargó en /var/cache/oracle-jdk11-installer-local. Cree este directorio y mueva allí el archivo del JDK de Oracle:

  • sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
  • sudo cp jdk-11.0.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

Por último, instale el paquete:

  • sudo apt install oracle-java11-installer-local

El instalador primero le solicitará aceptar el acuerdo de concesión de licencias de Oracle. Acepte el acuerdo y, luego, el instalador extraerá el paquete Java y lo instalará.

Ahora, observaremos la forma de seleccionar la versión de Java que desea utilizar.

Administración de Java

Puede tener varias instalaciones de Java en un servidor. Puede configurar la versión predeterminada que se utilizará en la línea de comandos con el comando update-alternatives.

  • sudo update-alternatives --config java

Así debería lucir el resultado una vez que haya instalado ambas versiones de Java como explica este tutorial:

Output
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

Elija el número asociado con la versión de Java para utilizarlo como predeterminado o pulse ENTER para dejar los ajustes actuales.

Puede hacer esto para otros comandos de Java, como el compilador (javac):

  • sudo update-alternatives --config javac

Entre otros comandos para los cuales este comando se puede ejecutar se incluyen, de forma no limitativa, los siguientes: keytool, javadoc y jarsigner.

Configuración de una variable de entorno JAVA_HOME

Muchos programas escritos con Java utilizan la variable de entorno Java_HOME para determinar la ubicación de la instalación de Java.

Para configurar esta variable de entorno, primero, determine dónde se instala Java. Utilice el comando update-alternatives:

  • sudo update-alternatives --config java

Con este comando se muestra cada instalación de Java junto con su ruta de instalación:

Output
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

En este caso, las rutas de instalación son las siguientes:

  1. OpenJDK 11 se encuentra en /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. Oracle Java está situado en /usr/lib/jvm/java-ava-1-oracle/jre/bin/java.

Copie la ruta de su instalación preferida. Luego abra /etc/environment con nano o su editor de texto favorito:

  • sudo nano /etc/environment

Al final de este archivo, agregue la siguiente línea, asegurándose de sustituir la ruta resaltada por la suya (la que copió antes), pero no incluya el segmento bin/ de la ruta:

/etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

La modificación de este archivo configurará la ruta de JAVA_HOME para todos los usuarios de su sistema.

Guarde el archivo y cierre el editor.

Ahora, vuelva a cargar este archivo para aplicar los cambios a su sesión actual:

  • source /etc/environment

Verifique que esté configurada la variable de entorno:

  • echo $JAVA_HOME

Verá la ruta que acaba de configurar:

Output
/usr/lib/jvm/java-11-openjdk-amd64

Otros usuarios deberán ejecutar la fuente de comandos /etc/environment o cerrar sesión y volver a iniciarla para aplicar esta configuración.

Conclusión

A través de este tutorial, instaló varias versiones de Java y aprendió a administrarlas. Ahora puede instalar software que se ejecute en Java, como Tomcat, Jetty, Glassfish, Cassandra o Jenkins.

Creative Commons License