Instalar Java en Ubuntu 16.04

Instalar Java Runtime Environment (JRE) y Java Developer Kit (JDK) con apt

Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems desde 1991 y publicado oficialmente el 23 de mayo de 1995. El nuevo lenguaje de programación se llamaba originalmente Oak (James Gosling) y fue desarrollado para electrónica de consumo; posteriormente fue renombrado como Java y comenzó a utilizarse para escribir applets, aplicaciones y software de servidor. Una particularidad de la tecnología Java es su flexible sistema de seguridad, gracias a que la ejecución del programa está completamente controlada por una máquina virtual. Cualquier operación que supere los permisos establecidos para el programa (por ejemplo, un intento de acceso no autorizado a datos o la conexión con otro equipo) provoca una interrupción inmediata.

file

Instalación del JRE/JDK predeterminado

La forma más sencilla de instalar Java es utilizar la versión distribuida con Ubuntu.

Para instalarla, actualiza el índice de paquetes:

apt-get update && apt-get upgrade

A continuación, instalamos Java. Este comando instala el Java Runtime Environment (JRE):

sudo apt-get install default-jre

Existe una segunda variante de la instalación predeterminada de Java: el JDK (Java Development Kit). La instalación del JDK es generalmente necesaria cuando planeas compilar programas Java o cuando el software que utilizas requiere explícitamente el JDK.

Puedes instalar el JDK con el siguiente comando:

sudo apt-get install default-jdk

Instalación de Oracle JDK

Para instalar Oracle JDK — la versión oficial de Java distribuida por Oracle —, es necesario seguir algunos pasos adicionales.

Primero, añadamos el PPA de Oracle:

sudo add-apt-repository ppa:linuxuprising/java
root@kvmde54-19861:~# sudo add-apt-repository ppa:linuxuprising/java
 Oracle Java 11 (LTS) and 14 installer for Ubuntu (20.04, 19.10, 18.04, 16.04 and 14.04), Linux Mint and Debian.

Java binaries are not hosted in this PPA due to licensing reasons. The packages in this PPA download and install Oracle Java, 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.:

Oracle Java 11: https://www.linuxuprising.com/2019/06/new-oracle-java-11-installer-for-ubuntu.html
Oracle Java 14: https://www.linuxuprising.com/2020/03/how-to-install-oracle-java-14-jdk14-on.html

Important notice regarding Oracle Java 11 and newer: the Oracle JDK license has changed starting April 16, 2019. The new license permits certain uses, such as personal use and development use, at no cost -- but other uses authorized under prior Oracle JDK licenses may no longer be available. A FAQ is available here: https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html . After this change, new Oracle Java 11 releases (11.0.3 and newer) require signing in using an Oracle account to download the binaries. This PPA has a new installer which requires the user to download the Oracle JDK 11 .tar.gz and place it in a folder, and only then install the «oracle-java11-installer-local» package. Details here: https://www.linuxuprising.com/2019/06/new-oracle-java-11-installer-for-ubuntu.html

About Oracle Java 10, 12 and 13: These versions have reached the end of public updates, therefore they are longer available for download. The Oracle Java 10/12/13 packages in this PPA no longer worked due to this, so I have removed them. Switch to Oracle Java 11 or OpenJDK 11 instead, which is long term support, or the latest Java 14.
 More info: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmpyvsm7f7w/secring.gpg' created
gpg: keyring `/tmp/tmpyvsm7f7w/pubring.gpg' created
gpg: requesting key 73C3DB2A from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpyvsm7f7w/trustdb.gpg: trustdb created
gpg: key 73C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

Luego actualiza la lista de paquetes:

sudo apt-get update

A continuación, según la versión específica que quieras instalar, ejecuta uno de los siguientes comandos:

Por ejemplo, instalemos Oracle JDK 14. Para instalarlo, ejecuta el comando:

sudo apt-get install oracle-java14-installer
root@kvmde54-19861:~# java -version 
java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

Gestión de versiones de Java

En un mismo servidor pueden estar instaladas simultáneamente varias versiones de Java. Puedes utilizar la utilidad update-alternatives para establecer la versión predeterminada y crear enlaces simbólicos (symbolic links) a las distintas versiones.

sudo update-alternatives --config java

La salida de este comando será similar a la que se muestra a continuación. En este ejemplo podemos ver que todas las versiones de Java mencionadas anteriormente han sido instaladas.

root@kvmde54-19861:~# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection Path Priority Status
------------------------------------------------------------
  0 /usr/lib/jvm/java-14-oracle/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-14-oracle/bin/java 1091 manual mode
  2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode

Press <enter>to keep the current choice[*], or type selection number 

Puedes seleccionar el número de la versión de Java que deseas usar por defecto. Lo mismo es posible para el compilador Java (javac), el generador de documentación (javadoc), la herramienta de firma de JAR (jarsigner) y otras herramientas. Introduce el siguiente comando, reemplazando command con el nombre de la herramienta deseada:

sudo update-alternatives --config command

Configuración de la variable de entorno JAVA_HOME

Para establecer la variable de entorno, primero debes identificar el directorio de instalación de Java. Usa el comando update-alternatives:

sudo update-alternatives --config java

Este comando muestra cada instalación de Java y su ruta de instalación:

root@kvmde54-19861:~# sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection Path Priority Status
------------------------------------------------------------
  0 /usr/lib/jvm/java-14-oracle/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-14-oracle/bin/java 1091 manual mode
  2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode

Press <enter>to keep the current choice[*], or type selection number</enter> <enter>

Copia la ruta del directorio de instalación de la versión preferida. Abre el archivo /etc/environment con un editor de texto:

sudo nano /etc/environment

Añade la siguiente línea al final del archivo y reemplaza la ruta por la copiada anteriormente:

JAVA_HOME="/usr/lib/jvm/java-14-oracle/bin/"

Al modificar el archivo, la ruta JAVA_HOME quedará configurada para todos los usuarios del sistema.

Guarda los cambios y cierra el archivo (CTRL + X, Y, Intro).

Recarga el archivo para aplicar los cambios a la sesión actual:

source /etc/environment

Comprueba que la variable de entorno esté configurada correctamente:

echo $JAVA_HOME

Verás la ruta que acabas de establecer:

root@kvmde54-19861:~# echo $JAVA_HOME
/usr/lib/jvm/java-14-oracle/bin/

Los demás usuarios deberán ejecutar el comando source /etc/environment para aplicar este parámetro.


Si tienes dificultades con la configuración o tienes alguna pregunta adicional, puedes contactar con nuestro equipo de soporte a través del sistema de tickets.

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos