Ha pasado casi un mes desde que Java SE 9 fuera lanzado, a pesar de que Eclipse Oxygen, Spring 5.0 e IntelliJ IDEA ya ofrecen soporte para Java 9, aún no todos brindan soporte.

Gradle recientemente se unió a esta lista, Eric Wendenlin, ingeniero principal de Gradle escribió en una publicación reciente que “A partir de Gradle 4.2.1 construir y ejecutar aplicaciones Java que utilizan las mayores distribuciones de JDK 9 como Oracle JDK 9, Open JDK 9 y Azul JDK 9 es completamente soportado. Además, la compilación cruzada (construida en JDK 9, pero ejecutada en JDK 8) es compatible”.

Wendelin explicó que, inevitablemente, algunas versiones fallaran al realizar la actualización a la última versión de Java, sin importar la herramienta utilizada. Aunque también reconoció que “el equipo de Java ha realizado los cambios necesarios en el JDK para facilitar una mejor arquitectura de software y seguridad, esto significará eliminar el acceso a algunas librerías”.

Soporte para Jigsaw en Gradle

Si aún no sabe como utilizar el sistema de módulos de Java 9 en Gradle, esta es una guía que puede resultarle útil. En resumen, le enseñara exactamente lo que necesita cambiar en su aplicación Java:

  • Produce módulos de Java 9 en tus bibliotecas de Java
  • Consume los módulos de Java 9 en las dependencias
  • Utilice el patrón de ServiceLoader de Java con los módulos de Java 9
  • Ejecute una aplicación utilizando los módulos de Java 9
  • Utilice el complemento experimental para hacer todo esto más simple

Aunque todavía no hay soporte de primera clase para el sistema de módulos de Java 9 en la versión 4.2 de Gradle, al utilizar esta guía, encontrará como ir experimentando con ellos antes de que se complete el soporte.

“Se recomienda un enfoque ascendente (convertir bibliotecas sin dependencias primero) si desea convertir gradualmente la aplicación al sistema de módulos de Java 9”, agrego Wendelin, “Después de todo, los módulos se pueden consumir como JAR normales”.

Complemento para la librería Java

Gradle 3.4 introdujo el complemento para las librerías Java, la cual introduce una fuerte encapsulación para las bibliotecas al separar las dependencias de un API (aquellas destinadas a estar visibles a los consumidores) de las dependencias de implementación, cuyos contenidos no serán visibles para los consumidores, de acuerdo a Wendelin. Sin embargo, esto aún no significa que se elimine el classpath de Java.

Puede encontrar mayor detalle en Incremental Compilation, The Java Library Plugin. Debe tener en cuenta que el complemento para la librería de Java es útil para proyectos que utilizan Java 7 en adelante, por lo que no es necesario migrar a Java 9 para tener una encapsulación más sólida.

Para obtener más detalles de como utilizar el sistema de módulos de Java en Gradle, puede leer Building Java 9 Modules Guide.


Este artículo se escribió en base a Gradle’s Java 9 suppport explained.

Java 9 ahora tiene soporte con Gradle
Si te gusto, comparte ...Email this to someone
email
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Google+
Google+
Etiquetado en:            

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook
A %d blogueros les gusta esto: