Sobreviviendo con diferentes versiones de Java en Mac

switching-title

Un buen día, su manager, alertado de su amplia experiencia en JMeter, le pide que urgentemente desarrolle varios scripts para testear un sitio de web. Siendo un ingeniero muy sagaz, decide consulta nuestro blog dónde nuestro experto Antonio clarifica que la version más apropiada para JMeter es Java 1.8.

Inmediatamente después de verificar que su MacBook tiene instalada la versión Java 11 (que es requerida por otra application) las siguientes preguntas se le vienen a la mente:

  1. Tengo reemplazar la existente versión de Java por la versión requerida por Jmeter?
  2. Una vez terminado el proyecto de JMeter, tengo que reinstalar versión 11?
  3. Será posible tener las dos (o más) versiones a la vez?

No se preocupe. Aquí, tenemos las respuestas: No, No, y ...

Si es posible tener más de una versión del JDK, y como consecuencia diferentes versiones del Java ejecutor (Runtime), requerido por JMeter.

Empezamos por descargar la versión JDK 1.8+ para MacOS en este sitio:

https://www.oracle.com/technetwork/java/javase/downloads/

Nota: las diferentes versiones de Java JDK estarán localizadas en MacOS en el directorio: /Library/Java/JavaVirtualMachines

Después de haber instalado esta versión habilitamos la versión (usando un terminal) de la siguiente manera:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_x.jdk/Contents/Home
 java -version
 ./jmeter.sh

Listo. JMeter utilizará la versión Java 1.8, pero solamente para la sesión, sin interferir con otra versión de Java existente.

Algunos dirán: Pero Sr. Californio esto es mucho para acordarse! Y tienen razón!

Inspirado por la ley del mínimo esfuerzo cree este “one liner” que comprende los comandos mencionados.

JAVA_HOME="$(/usr/libexec/java_home -v 1.8.\*)"; java -version; ./jmeter.sh &

Finalmente, para los fanáticos de la mencionada ley, les presento un alias (bash) que, una vez incorporado en el file .profile, les permitirá invocar JMeter con nombre corto: “jm"

alias jm='JAVA_HOME="$(/usr/libexec/java_home -v 1.8.\*)"; java -version; ./jmeter.sh &’

Saludos.

Próximo blog: Alternado diferentes versiones de JMeter.

-Carlos