Jaime Carmona LoechesIngeniero Informático Superior por la UAM

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2011-08-26

Tutorial visitado 6.719 veces Descargar en PDF

10 Nuevas Características de Maven 3

AUTOR

JAIME CARMONA LOECHES

FUENTE

http://www.developer.com/java/article.php/3908561/Top-10-New-Features-in-Maven-3.htm

FECHA

Domingo 7 de Agosto de 2011

REQUISITOS PREVIOS RECOMENDADOS

Conocimientos en Maven2

INTRODUCCIóN

El presente artículo pretende realizar un análisis teórico sobre la herramienta Maven3, versión que ha visto la luz 6 años después de la publicación de Maven2 y con notables mejoras con respecto a la versión anterior.

LAS 10 CARACTERíSTICAS PRINCIPALES DE MAVEN3 CON RESPECTO A MAVEN2

1) Compatibilidad con Maven2: la migración de proyectos de Maven2 a Maven3 es prácticamente transpante. Hay que tener en cuenta que el único inconveniente que puedes encontrarte por el camino es que, si tienes una dependencia duplicada o no especificas la versión de plugins y/o dependencias, Maven 3 te avisará de dichos problemas y te recomendará que los arreglas, puesto que los ficheros POM mal formados no serán soportados por versiones posteriores.

2) Notable mejora de rendimiento: la velocidad de Maven3 con respecto a versiones anteriores mejora de un 50% a un 400%. Esta es una de las caracterísicas más importantes en opinión del autor.

3) Versiones Automáticas de Parent: en Maven 3.1, no tienes la necesidad de especificar la versión padre de los submódulos construidos a partir del mismo.

4) Builds en Paralelo: Maven 3.1 introduce una nueva característica, llamada builds en paralelo, que permite programar módulos en paralelo. Para escribir un proyecto en paralelo, puedes utilizar el siguiente comando:

mvn -T 2 clean install mvn -T 2C clean install

Con los builds en paralelo, puedes mejorar el rendimiento hasta un 20 o un 50%. Sin embargo, esta es una característica experimental que no debe usarse, de momento, en entornos de producción.

5) Mejor descripción de errores: Maven 3 tiene mejorada la capacidad de reportar errores, y proporciona un link a la página Maven de wiki donde puedes obtener una descripción completa del error y sus causas posibles.

6) Plugin Extension Points: En Maven 3, puedes conectar diferentes puntos de extensión para modificar el comportamiento del plugin en lugar de extender el plugin como se ha hecho con Maven 2. Por ejemplo, ahora es posible definir un extension point para alterar la manera de que el web.xml será procesado por el plugin WAR.

7) Mixins: esta característica permite componer tu POM con fragmentos POM, en lugar de usar la herencia. Están disponibles en la versión 3.1 de Maven. Estos Mixins serán desplegados en un repositorio y referenciados con un coordinador estándar.

8) Maven Shell: Maven Shell es una línea de interfaz de comando para permitir que Maven mejore la velocidad de construcción porque cachea el POM parseado, eliminando la necesidad de invocar Maven de manera repetida. Soporta el Arquetipo de integración de Maven, proporciona la integración de Nexus e incluye un sistema de construcción interno. Al no estar incluido en la versión estándar, hay que descargar esta característica de manera separada.

9) Build Poliglotas: esta característica permite escribir un fichero POM en un formato no XML, soportando lenguajes como Groovy, Ruby, Scala, Clojure, YAML. Al igual que Maven Shell, no está incluída esta característica por defecto en Maven3, por lo que hay descargarlo de manera separada.

10) M2Eclipse: este plugin proporciona la integración entre Maven y Eclipse. La versión 0.10.0 (a la fecha de publicación de este tutorial, la última) ha sido completamente reescrita utilizando el API embebido de Maven3. La mejora de M2Eclipse ha sido, según fuentes internas de desarrollo del proyecto, de un 200 a un 500%, principalmente, porque internamente M2Eclipse proporciona informacion extra de los metadatos XML en el POM de Maven, que será reconocido sólo por el plugin de M2Eclipse.

OPINIóN DEL AUTOR

En opinión del autor, se ven bastantes mejoras en el desarrollo, mejoras ya existentes de productividad con respecto a la generación de builds de proyectos existentes, así como nuevas herramientas interesantes, como la consola, mejora en errores, etc.

Al ser Maven3 completamente compatible con proyectos desarrollados con Maven2 y conservar el núcleo fuerte de funcionamiento del mismo, se recomienda migrar dichos proyectos a esta herramienta, además de recomendar el aprendizaje en paralelo o tiempos libres en el trabajo diario de nuevas características incorporadas en esta versión.

Muchas gracias por vuestra atención.

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL: