Cómo instalar y gestionar Java en Ubuntu: OpenJDK vs Oracle JDK, configuración y solución de problemas

目次

1. ¿Qué es Java? ¿Cuándo necesitas Java en Ubuntu?

¿Qué tipo de lenguaje de programación es Java?

Java es un lenguaje de programación orientado a objetos que se usa ampliamente en todo el mundo. Uno de sus principios de diseño fundamentales es “Write Once, Run Anywhere” (escribe una vez, ejecuta en cualquier lugar), lo que significa que las aplicaciones pueden ejecutarse en diferentes sistemas operativos y dispositivos sin necesidad de modificarse.

Java se emplea en una gran variedad de escenarios de desarrollo, incluidos aplicaciones de escritorio, aplicaciones web y aplicaciones móviles (especialmente en el desarrollo de Android). También se utiliza intensamente en sistemas empresariales a gran escala y en sistemas financieros, lo que lo convierte en uno de los lenguajes de programación más duraderos y activamente usados hoy en día.

El papel de Java en Ubuntu

Java desempeña un papel importante incluso en sistemas operativos basados en Linux como Ubuntu. Java es necesario en las siguientes situaciones:

1. Ejecutar aplicaciones basadas en Java

Muchas aplicaciones están desarrolladas en Java y requieren un Entorno de Ejecución de Java (JRE) para funcionar. Por ejemplo, herramientas de desarrollo como Eclipse e IntelliJ IDEA, así como herramientas de gestión de bases de datos como DBeaver, no se iniciarán sin Java.

2. Construir un entorno de desarrollo Java

Para aprender programación Java o desarrollar aplicaciones Java en Ubuntu, es esencial instalar el Kit de Desarrollo de Java (JDK). Ubuntu es popular como plataforma de desarrollo y funciona muy bien con Java, lo que hace que esta combinación sea ampliamente utilizada por los desarrolladores.

3. Ejecutar aplicaciones de servidor

Java es la base de muchos servidores web y frameworks como Tomcat y Spring Boot. Al ejecutar aplicaciones web basadas en Java en un servidor Ubuntu, es obligatorio contar con un entorno Java.

Resumen: Ubuntu y Java son una combinación perfecta

Debido a que Ubuntu es de código abierto y ligero, se combina extremadamente bien con lenguajes multiplataforma como Java. Instalar Java en Ubuntu permite una amplia gama de casos de uso, desde el uso de aplicaciones hasta el desarrollo y la operación de servidores.

2. Opciones de Java en Ubuntu (OpenJDK vs Oracle JDK)

Opciones de Java disponibles en Ubuntu

En Ubuntu existen dos entornos principales de desarrollo Java: OpenJDK y Oracle JDK.

Ambos pueden usarse para ejecutar y desarrollar programas Java, pero difieren en cuanto a licencia, distribución y soporte. Elegir el JDK adecuado depende de tu propósito y caso de uso.

¿Qué es OpenJDK? (JDK predeterminado de Ubuntu)

OpenJDK (Open Java Development Kit) es la implementación de código abierto de Java. Originalmente liderado por Sun Microsystems (ahora Oracle), continúa evolucionando mediante el desarrollo comunitario abierto.

Ubuntu adopta OpenJDK como su entorno Java predeterminado, y puede instalarse fácilmente usando el comando apt.

Principales características de OpenJDK

  • Totalmente gratuito, incluido el uso comercial
  • Instalación sencilla desde los repositorios oficiales de Ubuntu
  • Actualizaciones de seguridad regulares
  • Muy estable y ampliamente usado en entornos empresariales

Si no tienes requisitos especiales, OpenJDK suele ser la opción más segura y adecuada.

¿Qué es Oracle JDK? (JDK oficialmente soportado)

Oracle JDK es la implementación oficial de Java proporcionada por Oracle. Se basa en OpenJDK pero puede incluir optimizaciones o integraciones adicionales.

Sin embargo, su licencia es diferente, y el uso comercial puede requerir una licencia de pago. El uso personal o educativo generalmente está permitido.

Principales características de Oracle JDK

  • Soporte y mantenimiento oficiales de Oracle
  • Se requiere confirmación de licencia para uso comercial
  • Rápida entrega de parches de seguridad
  • Incluye algunas funcionalidades adicionales que no se encuentran en OpenJDK

La instalación en Ubuntu requiere configuración manual descargándola desde el sitio web oficial.

Resumen de diferencias entre OpenJDK y Oracle JDK

CategoryOpenJDKOracle JDK
ProviderOpen-source communityOracle Corporation
LicenseGPL + Classpath ExceptionOracle Binary Code License (commercial use requires caution)
CostFreePaid for some commercial use cases
Typical UseGeneral development, learning, internal toolsCommercial services, large-scale operations
InstallationEasy via aptManual download and setup

Conclusión: OpenJDK es la opción recomendada para la mayoría de los usuarios de Ubuntu

Para la mayoría de los usuarios, OpenJDK es más que suficiente al configurar Java en Ubuntu. Es fiable y compatible con la mayoría de los frameworks y bibliotecas.

Si necesitas soporte oficial o garantías a nivel empresarial, Oracle JDK puede ser una opción. Elige el JDK que mejor se ajuste a tus necesidades.

3. Preparación antes de instalar Java en Ubuntu

Cosas a verificar antes de la instalación

Instalar Java en Ubuntu no es difícil, pero algunos pasos de preparación ayudarán a garantizar un proceso fluido. Esto es especialmente importante para principiantes o sistemas con muchos paquetes instalados.

1. Actualizar la lista de paquetes

Ubuntu usa APT (Advanced Package Tool) para gestionar el software. Si la lista de paquetes está desactualizada, es posible que los paquetes de Java no se encuentren o estén obsoletos.

Actualiza la lista de paquetes con el siguiente comando:

sudo apt update

Esto asegura que APT instale Java usando la información de paquetes más reciente disponible.

2. Verificar instalaciones de Java existentes

Los paquetes de Java más antiguos pueden entrar en conflicto con nuevas instalaciones.

Comprueba la versión actual de Java:

java -version

Si se muestra una versión, es posible que Java ya esté instalado. Desinstalarlo antes de volver a instalarlo puede ayudar a evitar problemas.

3. Confirmar privilegios de administrador (sudo)

Instalar Java requiere cambios a nivel del sistema, por lo que se necesitan privilegios sudo.

Si faltan los permisos, podrías ver un error como este:

User 'yourname' is not in the sudoers file. This incident will be reported.

En ese caso, contacta a un administrador o usa un usuario con privilegios de root.

Resumen

Actualizar los paquetes y comprobar tu entorno con antelación ayuda a prevenir errores de instalación y garantiza un proceso de configuración sin contratiempos.

4. Cómo instalar Java en Ubuntu (Métodos básicos)

4.1 Instalación de OpenJDK usando APT

Ubuntu usa APT (Advanced Package Tool) para la gestión de software. Como OpenJDK está incluido en los repositorios oficiales de Ubuntu, puede instalarse fácilmente con los siguientes comandos.

Instalar OpenJDK 11 (LTS estable)

sudo apt install openjdk-11-jdk

Instalar OpenJDK 17 (LTS más reciente)

sudo apt install openjdk-17-jdk

Reemplaza la parte XX de openjdk-XX-jdk con la versión deseada. A partir de abril de 2025, 11 y 17 son las versiones de soporte a largo plazo (LTS) recomendadas.

APT resuelve automáticamente las dependencias, lo que hace que la instalación sea segura y sencilla incluso para principiantes.

4.2 Verificar la versión de Java instalada

Después de la instalación, verifica que Java funciona correctamente ejecutando:

java -version

Salida de ejemplo (OpenJDK 17):

openjdk version "17.0.9" 2024-10-17
OpenJDK Runtime Environment (build 17.0.9+8-Ubuntu)
OpenJDK 64-Bit Server VM (build 17.0.9+8-Ubuntu, mixed mode, sharing)

Si se muestra la información de la versión, Java se ha instalado con éxito.

4.3 Notas cuando hay varias versiones de Java instaladas

Ubuntu permite que se instalen simultáneamente varias versiones de Java, pero solo una versión puede usarse como predeterminada.

Si tienes varias versiones instaladas, selecciona la versión activa con:

sudo update-alternatives --config java

Puedes cambiar de versión seleccionando el número correspondiente.

Resumen: Comienza con OpenJDK

Para la mayoría de los usuarios, instalar OpenJDK 11 o 17 es la mejor manera de iniciarse con Java en Ubuntu. Con APT, puedes configurar un entorno Java completo en minutos.

5. Cómo establecer JAVA_HOME (configuración de variable de entorno)

¿Qué es JAVA_HOME?

JAVA_HOME es una variable de entorno que indica a las aplicaciones y herramientas dónde está instalado Java.
Muchas herramientas de compilación, como Maven y Gradle, dependen de esta variable para localizar Java.

Esta variable no se establece automáticamente, por lo que debe configurarse manualmente.

Cómo encontrar la ruta de JAVA_HOME

Comprueba la ruta real del ejecutable de Java que se está usando actualmente:

readlink -f $(which java)

Salida de ejemplo:

/usr/lib/jvm/java-17-openjdk-amd64/bin/java

La ruta de JAVA_HOME es el directorio sin bin/java:

/usr/lib/jvm/java-17-openjdk-amd64

Pasos para establecer JAVA_HOME

Edita tu archivo de configuración del shell. En Ubuntu, normalmente es ~/.bashrc (o ~/.zshrc para Zsh).

1. Edita el archivo bashrc

nano ~/.bashrc

Añade las siguientes líneas al final (ajusta la ruta si es necesario):

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

2. Aplica los cambios

source ~/.bashrc

Verifica la configuración

echo $JAVA_HOME

Si se muestra la ruta correcta, la configuración está completa.

Nota: Cambiar JAVA_HOME al cambiar de versión

Al cambiar de versión de Java, actualiza JAVA_HOME de forma correspondiente para que coincida con la versión seleccionada.

Resumen

Configurar JAVA_HOME es esencial para muchas herramientas basadas en Java. Aunque requiere una configuración manual, evita problemas de configuración futuros.

6. Gestión y cambio de múltiples versiones de Java

¿Por qué usar múltiples versiones de Java?

Algunas aplicaciones requieren versiones específicas de Java. Por ejemplo, un proyecto puede necesitar Java 8, mientras que otro requiere Java 17.

Ubuntu permite que múltiples versiones de Java coexistan y se cambien fácilmente.

Cómo cambiar versiones de Java

Paso 1: Instalar múltiples versiones

sudo apt install openjdk-8-jdk
sudo apt install openjdk-17-jdk

Paso 2: Seleccionar la versión de Java

sudo update-alternatives --config java

Cambiar el compilador de Java (javac)

sudo update-alternatives --config javac

Actualizar JAVA_HOME si es necesario

Después de cambiar de versión, asegúrate de que JAVA_HOME coincida con la versión de Java activa.

Errores comunes

  • Java cambió pero no se refleja en el IDE: Actualiza la ruta de Java en la configuración del IDE.
  • java cambió pero javac no: Ejecuta update-alternatives para javac por separado.

Resumen

Ubuntu facilita la gestión de múltiples versiones de Java, lo cual es especialmente útil al trabajar en varios proyectos.

7. Errores comunes y cómo solucionarlos

Error 1: “No se puede localizar el paquete openjdk-xx-jdk”

Síntomas

E: Unable to locate package openjdk-17-jdk

Causas

  • Lista de paquetes desactualizada
  • Errores tipográficos
  • Versión de Java no compatible con tu versión de Ubuntu

Solución

sudo apt update
apt search openjdk

Error 2: “java: comando no encontrado”

Solución

sudo apt install default-jre

Error 3: JAVA_HOME no aplicado

source ~/.bashrc
echo $JAVA_HOME

Error 4: javac no encontrado

sudo apt install openjdk-17-jdk
javac -version

Error 5: La versión de Java no cambia

sudo update-alternatives --config java
sudo update-alternatives --config javac

Resumen

La mayoría de los problemas relacionados con Java en Ubuntu se deben a errores de configuración. Lee los mensajes de error con atención y resuélvelos paso a paso.

8. Instalar Java usando una GUI (para principiantes)

No hay que temer al terminal

Ubuntu ofrece una interfaz gráfica que permite la instalación de software usando solo el ratón.

Pasos usando Ubuntu Software

Paso 1: Abrir Ubuntu Software

Paso 2: Buscar “OpenJDK”

Paso 3: Seleccionar una versión e instalar

Verificación postinstalación

java -version

Limitaciones de la instalación vía GUI

La instalación mediante GUI ofrece un control de versiones limitado. Los usuarios avanzados deberían usar el terminal.

Resumen

La instalación vía GUI es adecuada para principiantes, mientras que la instalación basada en terminal ofrece mayor flexibilidad.

9. Configuración del entorno de desarrollo Java (opcional)

Herramientas requeridas

ToolPurpose
JDKJava development and execution
IDECode editing, debugging, completion
Build ToolsDependency management and builds

IDEs recomendados

Eclipse

sudo snap install eclipse --classic

IntelliJ IDEA

sudo snap install intellij-idea-community --classic

Visual Studio Code

sudo snap install code --classic

Herramientas de construcción

sudo apt install maven
sudo apt install gradle

Resumen

Ubuntu ofrece un entorno de desarrollo Java estable y potente, adecuado tanto para principiantes como para profesionales.

10. Preguntas frecuentes (FAQ)

Q1. ¿Cuál debería elegir: OpenJDK u Oracle JDK?

En la mayoría de los casos, OpenJDK es suficiente. Oracle JDK es adecuado cuando se requiere soporte oficial.

Q2. ¿Necesito configurar JAVA_HOME?

Es opcional para ejecutar Java, pero se recomienda para el desarrollo y las herramientas de compilación.

Q3. ¿Cómo desinstalo Java?

sudo apt remove openjdk-17-jdk

Q4. GUI o Terminal?

La GUI es adecuada para usos básicos. Se recomienda la terminal para configuraciones avanzadas.

Resumen

Esta guía le ayuda a instalar, configurar y gestionar Java en Ubuntu con confianza.

侍エンジニア塾