Instalando Java: Gestión de múltiples versiones JDK fácilmente con asdf-java
Las instalaciones de Java deben ser inteligentes. Más concretamente, debe instalarse pensando en el futuro.
Si desarrolla en Java, inevitablemente tendrá que utilizar varias versiones o distribuciones del entorno Java. Diferentes plataformas, diferentes paquetes y diferentes versiones soportan el mismo lenguaje Java. Las diferentes distribuciones también tienen diferentes licencias, rendimiento y soporte técnico, por lo que necesita utilizar la correcta para sus necesidades particulares.
1. asdf-java para una instalación inteligente de Java
Instalar Java con el instalador predeterminado de los proveedores que ofrecen distribuciones de Java, incluido Oracle, puede ser engorroso porque cada uno tiene una ruta de instalación diferente. Lo mismo ocurre cuando se instalan varias versiones de la misma distribución. Así que hay una serie de gestores de versiones gratuitos que le permiten gestionar múltiples versiones y distribuciones de Java en un solo lugar. Uno de los que yo uso y recomiendo es asdf-java.
asdf se encarga de versionar no sólo Java, sino también muchos otros lenguajes y herramientas de desarrollo. Puedes instalar plugins para asdf-java, asdf-python, o cualquier otro lenguaje o herramienta y gestionarlos todos con un solo programa. Incluso si no usas otros lenguajes, la simplicidad de asdf hace que merezca la pena usarlo.
Para una descripción más detallada de asdf y cómo instalarlo, por favor dirígete a asdf installation and usage post, pero por ahora asumiré que tienes asdf instalado en tu ordenador.
Instalar el plugin asdf-java e instalar Java con asdf funciona igual en MacOS y Windows. Yo usaré macOS.
2. Para instalar el plugin asdf-java
Abre un terminal y ejecuta el siguiente comando para instalar el plugin asdf-java.
asdf plugin-add java https://github.com/halcyon/asdf-java.git
Si no aparece ningún mensaje de error y pasa a la siguiente pregunta, la instalación ha ido bien.
Ejecuta el resultado:
Para verificar la instalación, escriba el siguiente comando. Este comando imprime una lista de todas las distribuciones de Java que están actualmente disponibles para su instalación.
asdf list all java
He añadido una condición y devuelto una lista que soporta JDK 20
, pero hay algunas excepciones.
Resultado:
Si ves algo como esto, has instalado correctamente el plugin.
Si no sabes cuál de las distintas distribuciones de Java instalar, el siguiente artículo te ayudará.
6 Distribuciones Java más comunes: Oracle, OpenJDK, Adoptium, Zulu, Corretto, Liberica
3. Cómo instalar la versión de Java
Ahora vamos a instalar la versión de Java que desees. Utiliza el siguiente comando para ver todas las versiones disponibles para instalar en tu distribución.
En la parte [nombre_de_distribución]
, escriba el nombre de la distribución que desea instalar. Yo voy a instalar la distribución OpenJDK.
asdf list all java [nombre_de_distribución]
Puede ver la salida como se muestra a continuación.
Resultado de la ejecución:
Ahora vamos a instalarlo, lo que se hace ejecutando el siguiente comando. En la parte [nombre_version]
, por favor pon el mismo nombre de versión que imprimiste arriba.
asdf install java [nombre_version]
El terminal mostrará una barra de carga y la instalación continuará. Una vez finalizada la instalación, puede comprobar la versión instalada con el siguiente comando.
asdf list java
Los resultados son los siguientes
Resultado de la ejecución:
4. Verificar la ruta de instalación de Java
La ruta de Java instalada por asdf es ~/.asdf/installs/java/[installed_version]
.
Si está utilizando WSL en Windows, el directorio es el mismo. Puede comprobarlo fácilmente con el comando
5. Configurar la versión de Java instalada
El siguiente paso es configurar la versión de Java instalada para su uso. Como la mayoría de los gestores de versiones, ASDF le permite establecer tres ámbitos de uso.
- Usar en el shell actual
- Usar en el directorio actual
- Usar en cualquier parte de este ordenador
Los comandos para cada uno se muestran a continuación. Los comandos son intuitivos y fáciles de aprender.
asdf shell java [nombre_version]
asdf local java [nombre_version]
asdf global java [nombre_version]
5.1. Establecer la versión de Java en el shell actual
Vamos a habilitarlo en el shell actual y comprobarlo. Escribe java --version
y comprueba si es la versión que deseas.
Resultado:
Después de salir del terminal, ejecútalo de nuevo y se inicializarán las configuraciones que hiciste antes.
5.2. Establecer la versión de Java en un directorio específico
Si utilizamos diferentes versiones de Java en diferentes proyectos, lo más conveniente es establecer una versión específica en un directorio. Esto se debe a que si la ponemos en el directorio, el ordenador detectará y ejecutará automáticamente la versión establecida. Veamos cómo hacerlo en pocas palabras.
Simplemente he creado 2 carpetas con archivos java. Configuré una para openjdk y la otra para la distribución zulu. Si entras en cada carpeta e imprimes la versión de java, puedes ver que están configuradas con versiones diferentes, como se muestra a continuación.
Si navega a un directorio diferente, verá que allí no se ha establecido ninguna versión de Java.
5.3. Establecer la versión de Java en todas las máquinas
Por último, vamos a realizar el proceso de configuración y cambio de la versión de Java utilizada en todos los equipos.
Como se muestra arriba, puedes cambiarla a cualquier versión que tengas instalada. Además, como se establece globalmente, permanecerá establecida aunque reinicie el terminal o reinicie su ordenador.
6. Cómo usarlo con IntelliJ
La versión de Java instalada por asdf es detectada automáticamente por la mayoría de IDEs, incluyendo IntelliJ. Por lo tanto, puede cambiarla fácilmente a la versión apropiada en la ventana de preferencias.
7. Conclusión
Hemos visto cómo gestionar múltiples versiones de Java con ASDF. Hay muchos lenguajes que pretenden ser sustitutos de Java, pero en todas las industrias, ya sean servidores, Android o big data, Java es uno de los lenguajes más populares tanto para proyectos comerciales como de código abierto.
Es un lenguaje con muchas más distribuciones y versiones que otros lenguajes, lo que puede resultar desalentador para algunos desarrolladores. Pero también es un lenguaje que ayuda a los desarrolladores a elegir el mejor tiempo de ejecución para sus servicios. Considere las opciones que tiene a su disposición, haga algunas pruebas con la ayuda de ASDF y se convertirá en un mejor desarrollador Java.
