En este tutorial, hemos descrito a Maven como un potencial relevo para Ant. Sin embargo, considerando el hecho de que los goals de Maven pueden (y lo hacen) llamar a tareas Ant para realizar su trabajo, quiz�s se describa mejor a Maven como un harramienta que orquesta Ant en vez de reemplazarlo. Utilizar Maven para dirigir a Ant proporciona estos tres beneficios principales:
- La habilidad de crear goals reutilizables.
- Una gran librer�a de goals predefinidos (los plug-ins).
- Scripts de construcci�n m�s flexibles a trav�s de Jelly.
Abajo puedes ver una comparaci�n de los conceptos de Ant y Maven
| Concepto | Maven | Ant |
|---|---|---|
| Agrupamiento de tareas de construcci�n invocables. | Goal | Target |
| Fichero de Meta-datos del proyecto(POM) | maven.xml | ? |
| Fichero de definici�n de Goal/Target (espec�fico de proyecto). | <user_home>/plugins/><plugin_name>/plugin.jelly | build.xml |
| Fichero de definici�n de Goals (multi-proyectos). | <user_home>/plugins/><plugin_name>/plugin.jelly | ? |
| Lenguaje de creaci�n de Goal/Target. | Scripts Jelly, que incluye tareas Ant y etiquetas estilo JSTL. | Tareas Ant |
| soporte de bucles y l�gica condicional. | Jelly tiene etiquetas internas basadas en JSTL. | Indirectamente, a atrav�s de Script Task o una tarea personalizada. |
| Reutilizaci�n de Goal/Target entre proyectos. | SI | NO |
| Reutilizaci�n de Tareas entre proyectos. | SI | SI |
| Soporte de Expresiones. | Superconjunto de JSP EL. | Acceso a propiedades b�sicas. |
| Pre-requisitos de Goals. | Atributo prerequisite de la etiqueta goal. | Atributo depends* de la etiqueta target. |
| Extensibilidad de Goal/Target | <preGoal> y <postGoal> | ? |
* No confundas el concepto dependency de Maven con el concepto depends de Ant. Son diferenets. El t�rmino dependency de Maven se refiere a las dependencias en tiempo de ejecuci�n (ficheros Jar, etc.). El t�rmino depends de Ant se refiere a un target pre-requerido.