Desde hace algunos años atrás, Java ha cambiado la cadencia de versiones a tener “releases” de manera frecuente. Cada 6 meses hay una nueva versión de Java (con cambios menores o nuevas características en prueba) y cada 3 años hay una versión LTS (Long Term Support) la cual habilita oficialmente la mayoría de las características implementadas en versiones anteriores. En Sept 2018 Java 11 fue lanzado y en Sept 2021 Java 17 será liberado.
Por lo tanto, pude ser muy común el necesitar más de una versíon de Java en la máquina de desarrollo, requiriendo cambiar de Java 8 a Java 11 o Java 17 o cualquier otra versión existente, mientras estamos trabajando en diferentes proyectos o aplicaciones. Una forma de hacerlo es seteando la variable de entorno JAVA_HOME al directorio de instalación de la versión deseada, sin embargo es algo tedeoso y manual.
Para ayudar con ese trabajo tedioso tenemos jEnv.
¿Qué es jEnv?
jEnv is a command line tool to help you forget how to set the JAVA_HOME environment
jenv.be
jEnv
es una herramienta muy útil que ayuda a cambiar entre diferentes versiones de java en nuestra máquina de desarrollo. Desafortunadamente , los pasos en http://www.jenv.be/
no son suficientes cuando trabajos con gradle o maven. Por esta razón en este artículo vamos a indicar los pasos para que funcione sin problemas.
Instalando jEnv
Vamos a seguir los pasos de instalación de la documentación oficial.
$ brew install jenv
$ git clone https://github.com/jenv/jenv.git ~/.jenv
Luego, necesitamos agregar el directorio /bin
de jEnv
a la variable de entorno PATH.
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
Y agregar a jEnv los directorios de las instalaciones de java en nuestra máquina. Usando el comando jenv add <directory>
$ jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home oracle64-1.6.0.39 added $ jenv add /Library/Java/JavaVirtualMachines/jdk17011.jdk/Contents/Home oracle64-1.7.0.11 added
Por último, vamos a habilitar algunos plugins ara que funcione correctamente conmaven
o gradle
. Estos son los pasos que no se incluyen en la guía oficial.
$ jenv enable-plugin export $ jenv enable-plugin maven $ jenv enable-plugin gradle
Eso es todo, estamos listos para empezar a usar jEnv. Podemos verificar la versión de java usando los comandos jenv global
y java -version
y chequear que muestran la misma versión.
Comandos de jEnv
jenv add <jdk bin directory>
agrega una nueva versión a jenvjenv remove <version>
remueve la versión de jenvjenv global
muestra la versión actual usada por jenvjenv global <version>
setea la versión indicadajenv local <version>
setea la versión indicada solo para el directorio actual.jenv versions
listado de todas laos jdk agregado en jenv