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.
Para este tutorial, necesitará lo siguiente:
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:
OutputCommand '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:
Outputopenjdk 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:
Outputjavac 11.0.7
A continuación, veremos la forma de instalar las versiones oficiales del JDK y de JRE de Oracle.
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:
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.
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.
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:
Outputgpg: 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.
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:
OutputThere 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
.
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:
OutputThere 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:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java.
/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:
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.
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.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!