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:
| 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> |
? |