ANT (siglas de "Another Neat Tool", en español "Otra Herramienta Pura", que en inglés significan "hormiga") fue creado por James Duncan Davidson mientras realizaba la transformación del proyecto Solar de Sun Microsystems en código abierto (concretamente la implementación del motor JSP/Servlet de Sun, que luego se llamaría Jakarta Tomcat).
Apache Ant es una herramienta usada en programación para la realización de tareas mecánicas y repetitivas, normalmente se centra en la fase de compilación y construcción (build). Es similar al "make" empleado en Linux, pero desarrollado en Java; posee la ventaja de no depender de los comandos shell de cada sistema operativo, ya que se basa en archivos de configuración XML y clases Java, siendo idónea como solución multi-plataforma.
Podemos destacar aspectos y/o funciones de las que Ant se va a ocupar:
- Compilación.
- Generación de documentación.
- Empaquetamiento.
- Ejecución, etc.
Es utilizado en la mayoría de los proyectos de desarrollo de Java y funciona a partir de un script de ensamblado, en formato XML (build.xml) que posteriormente se explicará con más detalle; además es fácilmente extensible e integrable con muchas herramientas empleadas por los desarrolladores, por ejemplo el editor Jedit o el IDE Netbeans.
Trabajar sin Ant implica una compilación manual de todos los ficheros .java (sin un control de los que han sido modificados y de los que no) incluir los classpath relativos adecuados, tener los ficheros .class mezclados con el código fuente...; sin embargo con Ant, en el fondo, no estás más que automatizando tareas, para que, al final, con un solo comando, puedas compilar desde cero tu proyecto, ejecutar pruebas unitarias, generar la documentación, empaquetar el programa…
Como limitaciones a tener en cuenta:
- Al ser una herramienta basada en XML, los archivos Ant deben ser escritos en XML.
- La mayoría de las antiguas herramientas, como <javac>, <exec> y <java< tienen malas configuraciones por defecto, valores para opciones que no son coherentes con las tareas más recientes.
- Cuando se expanden las propiedades en una cadena o un elemento de texto, las propiedades no definidas no son planteadas como error, sino que se dejan como una referencia sin expandir.
Para trabajar con Ant se necesita:
- JDK en versión 1.4 o superior, ya que Ant no deja de ser una aplicación Java.
- Un parser XML. Da igual cual, si se ha bajado la versión binaria de Ant no hay por qué preocuparse, porque ya incluye uno.
En la siguiente presentación se resume el concepto de la herramienta Ant.
ANT (Another Neat Tool)
- ¿Qué es?
- ¿Para qué sirve?
- Ventajas.
- ¿Cómo funciona?
ANT (Another Neat Tool)
1. ¿Qué es?
- Es una herramienta que permite automatizar el proceso de ensamblado de aplicaciones web.
- Ensamblado = construcción + despliegue
- Similar a la herrmienta make de Linux.
ANT (Another Neat Tool)
2.- ¿Para qué sirve?
- Se ocupa de:
- Compilación.
- Generar documentación.
- Empaquetamiento.
- Ejecución...
ANT (Another Neat Tool)
3.- Ventajas.
- Automatiza tareas, para que al final con un solo comando:
- se puede compilar desde cero el proyecto
- ejecutar pruebas unitarias
- generar la documentación
- empaquetar el programa…
- No depende de los comandos shell de cada sistema operativo, ya que se basa en archivos XML y clases Java, siendo idónea como solución multi-plataforma.
ANT (Another Neat Tool)
4.- ¿Cómo funciona?
- Funciona a partir de un script de ensamblado en formato XML llamado build.xml, definido en base a proyecto, targets y tasks.
- Proyecto:
- Uno por archivo y contiene targets.
- Target:
- Con un nombre y dependencias hacia otros targets.
- Contiene un conjunto de tasks.
- Tasks:
- Operaciones básicas (javac, java, jar, etc...)