JDK 9 and JShell


Aún falta mucho tiempo para que Java 9 vea la luz, pero podemos empezar a disfrutar de alguna de sus novedades.

Ahora mismo les presentaré a JShell (conocido como el proyecto kulla). Ahora mismo se lo puede descargar como un archivo .jar y ejecutarlo como el comando java -jar, siempre y cuando se tenga instalado JDK 9. Entiendo que en las últimas versiones de JDK (early access) ya viene dentro del directorio bin (aunque con el proceso de instalación que aquí propongo aún no se encuentra).

JShell es una implementación para Java de lo que se denomina REPEL o Read-Eval-Print-Loop. Básicamente se trata de un programa tipo shell que permite escribir y ejecutar programas. Estos entornos son populares en otros lenguajes como Python o Scala. Es la primera vez que Java adopta oficialmente este entorno y nos permitirá escribir programas Java, sin la necesidad de escribir una clase y el método principal o terminar una sentencia con punto y coma. Aquí más detalles.

Si no quieres instalar JDK9 en tú computador, una solución es utilizar alguna máquina virtual subida en la nube con interfaz Web y de acceso gratuito. Las alternativas que propongo son: koding y codeanywhere, yo uso las dos (con fines de prueba). Ambas son Ubuntu y cuenta con una ventana terminal. El proceso de instalación de JDK9 lo pueden encontrar aquí, aunque en codeanywhere deberán ejecutar un paso adicional previo, que lo pueden encontrar aquí (muestra los comandos para resolver el problema sudo: add-apt-repository: command not found).

Esos son los prerequisitos, ahora la instalación del JShell demanda que nos descarguemos un archivo JAR, que lo podemos encontrar en Adopt OpenJDK: Getting Started Kit clic en el botón Read, seleccionados el idioma y en el menú de la izquierda podrán ver todos los proyectos relacionados con JDK9. En ese menú buscamos kulla (punto 8.5) click ahí y te mostrará una página en donde debes buscar la sección binarios y hacer click en el link Kulla.jar: Adopt OpenJDK Cloudbees Build farm, eso te lleva a una nueva página y debes copiar la URL del link que empieza por kulla-….. y termina en .jar. (Pongo todas las instrucciones ya que el link final puede cambiar con nuevas versiones)

Ahora vas a tú máquina virtual te ubicas en el directorio en donde quieres copiar el jar y ejecutas el comando (en la ventana terminal) wget  <URL copiada anteriormente>. En mi caso fue:

wget https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/langtools-1.9-linux-x86_64-kulla-dev/lastSuccessfulBuild/artifact/kulla--20151108010045.jar

Una vez descargado el archivo, ejecutas en el terminal el comando

java -jar kulla--2....jar

Y podrás hacer cosas cómo estas:

JShell
Un ejemplo del uso de JShell en codeanywhere

Si quieres más ejemplos puedes visitar el siguiente tutorial sobre REPL.

Deja un comentario