En este post vamos a instalar Java 1.8 en Linux en sus distintas distribuciones, vamos a conocer las distintas alternativas que tenemos para tener Java 1.8, estas opciones pueden ser descargando el binario o instalando desde la terminal de comandos.
Antes de empezar, un detalle importante: Java 8 = Java 1.8, cuando veas: java version 1.8.0_XXX, es Java 8.
A fecha de creación de este post, se sigue publicando Java 8 y sus binarios Linux están en el archivo oficial de Oracle y otros sitios. Algunas descargas requieren cuenta Oracle y aceptación de licencia.
Qué vamos a hacer
Vamos a conocer las distintas alternativas para descargar e instalar Java 1.8 en cualquier distribución de Linux, vamos a segur en cualquier método los siguientes pasos:
- Descargar Java
- Oracle
- OpenJDK
- Adoptium
- Extraerlo en
/opt - Configurar
JAVA_HOME - Configurar
PATH - Registrar java en el sistema
Verificar arquitectura del sistema
Primero identifica la arquitectura del pc, ejecutamos el comando uname de la siguiente forma:
uname -m
Posibles resultados:
Método 1, OpenJDK
Es la forma más rápida y sencilla, disponible en los repositorios oficiales.
Ubuntu y derivadas (18.04, 20.04, 22.04, 24.04)
Actualizar repositorios:
sudo apt update
Buscar paquetes disponibles:
apt search openjdk-8
Instalar JDK:
sudo apt install openjdk-8-jdk
Verificar:
java -version
Deberías ver algo parecido a: openjdk version "1.8.0_xxx"
En Ubuntu sigue disponible como paquete en varias versiones recientes.
Debian
Debian 10 / 11
sudo apt update
sudo apt install openjdk-8-jdk
Debian 12+
Aquí viene una trampa importante: Debian 12 (Bookworm) ya no mantiene OpenJDK 8 en repositorio oficial. La versión por defecto es Java 17.
Si estás en Debian 12+, tienes la opción de instalar manualmente un tar.gz
Descarga OpenJDK 8 de un proveedor como Eclipse Temurin o Red Hat y descomprímelo en: /opt/java
Registrar esa instalación con update-alternatives.
RHEL / CentOS / Rocky / AlmaLinux / Oracle Linux
- Red Hat Enterprise Linux
- Rocky Linux
- AlmaLinux
Con yum:
sudo yum install java-1.8.0-openjdk-devel
o con dnf:
sudo dnf install java-1.8.0-openjdk-devel
Red Hat documenta oficialmente este paquete.
Verificar:
java -version
Fedora
Instalar:
sudo dnf install java-1.8.0-openjdk-devel
Verificar:
java -version
Arch Linux
Actualizar:
sudo pacman -Syu
Instalar:
sudo pacman -S jdk8-openjdk
Verificar:
java -version
openSUSE
Instalar:
sudo zypper install java-1_8_0-openjdk-devel
Verificar:
java -version
Método 2, Oracle
Descargar desde Oracle
Ingresamos al sitio oficial de Oracle: https://www.oracle.com/java/technologies/downloads/#java8, donde vamos a descargar el instalador, puede ser parecido a: jdk-8u491-linux-x64.tar.gz
Nota: puede que nos pida registrarnos e iniciar sesión para poder descargar Java en Oracle.
Procedemos a guardar en: ~/Downloads
Oracle indica que la instalación desde .tar.gz consiste precisamente en extraer el archivo en el directorio deseado.
Crear estructura estándar
En servidores solemos usar /opt para software de terceros, en este fólder vamos a guardar Java.
Procedemos a Crear los directorio de la siguiente forma:
sudo mkdir -p /opt/java
¿Qué significa?
/opt→ optional software/opt/java→ nuestras instalaciones Java
Extraer el JDK
Movernos al directorio:
cd /opt/java
Procedemos a extraer el archivo comprimido, puede que el nombre del siguiente comando cambie:
sudo tar -xzf ~/Downloads/jdk-8u491-linux-x64.tar.gz
Verificar:
ls
Deberías ver:
jdk1.8.0_491
Metodo 3, Adoptium
Descargar de adoptium
Esta versión de Java es la utilizada por Eclipse, podemos bajar el binario que usa este IDE desde el siguiente enlace: https://adoptium.net/es/temurin/releases?version=8
Link de descarga directa: https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u492-b09/OpenJDK8U-jdk-sources_8u492b09.tar.gz
Procedemos a guardar en: ~/Downloads
Nota: realizamos los mismos pasos de extraer y mover a /opt/java, como se explica en el apartado de Oracle
Configurar JAVA_HOME
Aquí empieza lo importante indicar en JAVA_HOME donde esta ubicados los binarios de Java, ya asea en /opt/java o /usr/lib/jvm/java-17-openjdk-amd64/bin/java.
Editar variables globales:
nano ~/.bashrc
Añadir:
export JAVA_HOME=RUTA_DEL_JAVA
export PATH=$JAVA_HOME/bin:$PATH
Guardar.
Procedemos a aplicar los cambios con:
source ~/.bashrc
Verificar variables
Procedemos a validar si ha quedado correctamente Java, ejecutamos en terminal.
echo $JAVA_HOME
Debe devolver: /opt/java/jdk1.8.0_491
Registrar Java en el sistema (muy importante)
En distribuciones como Ubuntu/Debian:
sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.8.0_491/bin/java 1
Y también:
sudo update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.8.0_491/bin/javac 1
Seleccionar, (se explica a detalle el comando mas abajo):
sudo update-alternatives --config java
Validar instalación
java -version
Esperado:
java version "1.8.0_491"
Java(TM) SE Runtime Environment
Java HotSpot(TM) 64-Bit Server VM
También:
javac -version
Entender qué acabas de instalar
Comprueba donde tienes instslado Java
which java
Ejemplo: /usr/bin/java
Ahora sigue el enlace:
readlink -f $(which java)
Verás algo como: /usr/lib/jvm/java-17-openjdk-amd64/bin/java
Esto te enseña cómo Linux resuelve binarios.
Debug real (modo sysadmin)
Si java -version falla, estas son las 3 comprobaciones:
PATH
echo $PATH
Debe contener:
/opt/java/jdk1.8.0_491/bin
JAVA_HOME
echo $JAVA_HOME
Binario
ls -l $JAVA_HOME/bin/java
Multi-version Java (muy común)
Cuando luego instales Java 11 o 17, podrás cambiar entre versiones con:
sudo update-alternatives --config java
En sistemas basados en Debian Project (como Ubuntu, Debian, Linux Mint, etc.) sirve para elegir qué versión de Java será la predeterminada del sistema cuando ejecutas:
Respuesta:
Existen 3 opciones para la alternativa java (que provee /usr/bin/java).
Selección Ruta Prioridad Estado
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 modo automático
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 modo manual
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 modo manual
3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo manual
Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección:
Del listado anterior seleccionamos la versión de Java con la que vamos a trabajar. ingresando en terminal el numero correspondiente a la versión, ejemplo 0.
¿Qué cambia internamente?
Linux maneja una cadena de enlaces simbólicos:
/usr/bin/java
↓
/etc/alternatives/java
↓
/usr/lib/jvm/java-17-openjdk/bin/java
Cuando cambias la alternativa, realmente cambias ese enlace.
Visualmente:
ls -l /usr/bin/java
puedes verlo.