Qué es Ant
Si te gusta como a mi, hacer las cosas a mano, te habrás dado cuenta
de que la tarea de compilar ficheros java en linea de comandos es
bastante tediosa debido a los problemas con el CLASSPATH, los
packages, y las librerias implicadas.
Ant nace como una excelente herramienta para automatizar todo este proceso de compilación. Además se integra perfectamente con Vim, mi editor favorito.
Ejemplo autoexplicativo
El problema con el que nos encontramos a la hora de entender y compilar nuestro
primer programa con Ant es que la documentación es tan extensa que
puede abrumarnos fácilmente hasta el punto que no seamos capaz de
compilar un simple programa java.
Es por ello que me ha parecido interesante mostrar un ejemplo
autoexplicativo del fichero build.xml con el cual podremos empezar
rápidamente a compilar programas java mediante Ant. Además así me puede servir como una plantilla que puedo tener siempre a mano.
<?xml version="1.0"?>
<!-- La accion por defecto es ejecutar --> <project name="PlantillaAnt" default="ejecutar" basedir=".">
<!-- Ruta del directorio con los ficheros fuente que queremos compilar (*.java) --> <property name="fuente" value="." />
<!-- Ruta del directorio donde queremos que deje los ficheros compilados (*.class) --> <property name="destino" value="." />
<!-- Ruta de los directorios que contengan las clases que queremos usar seprados por ; --> <property name="classes" value=".;d:\java\xmlproy" />
<!-- Ruta de las librerias (.jar) que queremos usar seprados por ; --> <property name="lib" value="d:\javalib\informa-0.6.5\lib\jdom.jar;d:\javalib\informa-0.6.5\lib\informa.jar;d:\javalib\informa-0.6.5\lib\commons-logging.jar" />
<!-- =============================================== --> <!-- Accion compilar (comando javac) =============== --> <!-- =============================================== --> <target name="compilar">
<javac srcdir="${fuente}" destdir="${destino}"> <classpath> <pathelement path="${classes}"/>
<pathelement path="${lib}"/> </classpath> </javac> </target>
<!-- =============================================== --> <!-- Accion ejecutar (comando java) ================ --> <!-- =============================================== --> <target name="ejecutar" depends="compilar">
<java classname="Main" fork="true"> <classpath> <pathelement path="${classes}"/>
<pathelement path="${lib}"/> </classpath> <!-- Descomentar si queremos pasar un argumento --> <!-- <arg value="primer argumento" /> !-->
</java> </target>
</project>
|