Usando jEnv para cambiar de versión de JDK

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 jenv
  • jenv remove <version> remueve la versión de jenv
  • jenv global muestra la versión actual usada por jenv
  • jenv global <version> setea la versión indicada
  • jenv local <version> setea la versión indicada solo para el directorio actual.
  • jenv versions listado de todas laos jdk agregado en jenv

Referencias

Leave a Reply

Your email address will not be published. Required fields are marked *