2011-09-26 19 views
5

? Sé que podemos usar ANT y Maven para construir el proyecto. Podemos ejecutar scripts ANT a través de POM.xml de Maven. Pero mi pregunta es ¿podemos ejecutar pom.xml a través de build.xml de ANT? es decir, ¿podemos crear maven compilación desde build.xml¿Podemos usar pom.xml en ANT

Respuesta

8

Sí, usando maven ant tasks.

La página enumera múltiples tareas de maven que pueden integrarse en un script de compilación ant, combinando así las características de ambos. Para tomar un ejemplo, está el mvn task, que, como se ha documentado, puede hacer una construcción completa de maven.

<artifact:mvn mavenHome="/path/to/maven-3.0.x"> 
    <arg value="install"/> 
    </artifact:mvn> 

Además de esto, hay

  • dependencias de tareas
  • Instalación y tareas Implementar tarea
  • Pom

cada uno se describe con ejemplos.

+1

Si bien esto puede responder teóricamente a la pregunta, [sería preferible] (http://meta.stackexchange.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. – oers

+0

@ Raghuram, gracias por el enlace. Pero puede elaborar su respuesta con la ayuda de cualquier ejemplo, por favor – Sachchidanand

+0

@ Gaurav. En realidad, el enlace tiene toda la información que necesita. He elaborado la respuesta de todos modos. Edite su pregunta con la información específica que necesita y alguien puede ayudarlo. – Raghuram

1

Maven y ANT son herramientas de construcción muy diferentes. En ANT usted escribe toda la lógica usted mismo, mientras que un proceso de construcción estándar está "integrado" con Maven. El archivo POM no contiene lógica, en su lugar contiene una serie de declaraciones sobre su proyecto.

Si entiendes bien cómo funciona Maven, teóricamente es posible tomar un POM y generar una construcción ANT que emule el comportamiento de la construcción Maven. No conozco ninguna solución que pueda convertirse fácilmente en la otra dirección, principalmente porque a ANT le falta la funcionalidad Maven, como la administración de dependencias.

En lugar de intentar convertir una construcción ANT en Maven, le recomendaría que mantenga su lógica de compilación existente y delegue la gestión de su classpath a las tareas ivy o Maven ANT. Estas herramientas también proporcionan tareas para publicar su salida de construcción en un repositorio de Maven, permitiendo que su proyecto se comparta con otros proyectos usando Maven.

Finalmente, soy un defensor ivy y escribí un script ant2ivy que puede ayudar en el proceso de actualización. Crea un conjunto inicial de archivos de configuración para descargar las dependencias de sus proyectos del repositorio central de Maven.