Acerca de
Curriculum Vitae
Blog
Artículos


Tutorial de Ant - Hola mundo! Desde Ant
Introducción


Este artículo es un tutorial mas de Ant, la herramienta para construcción (build tool) de programas escrita en Java.
El enfoque de este tutorial es práctico, instala lo necesario en tu equipo para correr el ejemplo, descargalo, ejecutalo y despues regresa a entender que es lo que hace el ejemplo.
No olvides dejar comentarios y/o sugerencias en la sección de comentarios.

Requisitos: Los únicos prerequisitos previos para entender y ejecutar el ejemplo son:

Instalación de Ant y Configuración de Variables de Entorno


Primero que nada, descarga Ant desde el sitio oficial (En el sitio ir a Download->Binary Distributions), yo personalmente lo estoy probando con la versióon 1.7 pero tambien se pueden utilizar versiones anteriores.

La instalación del ant consiste unicamente en descomprimir el archivo zip, gz, o bz2, dependiendo del que se haya elejido al descargar el ant. Al terminar de descomprimir el archivo deberís de tener un directorio como el siguiente:

Estructura de directorios Ant
Estructura de directorios Ant


Una vez descomprimida la estructura de directorios a una carpeta, hay que asegurarnos que la carpeta bin este disponible en el PATH, es decir, hay que agregarla a las variables de entorno.

En windows, ir a MyComputer o MiPc y hacer click con el botón derecho y seleccionar propiedades:

Variables de Entorno
Configuración de Variables de Entorno


Seleccionar la pestaña "Advanced" y el botón "Environment Variables"

Variables de Entorno
Configuración de Variables de Entorno


En la sección System Variables, seleccionar la variable PATH y presionar el botón Editar ( en caso de que no existe esa variable presionar el botón New.

Variables de Entorno
Configuración de Variables de Entorno


Por último agregar al valor de la variable, la ruta completa de la carpeta bin de donde esta instalado el ant. En este caso: d:\mario\java\apache-ant-1.7.0\bin;

Variables de Entorno
Configuración de Variables de Entorno



ANT_HOME JAVA_HOME
Para verificar que las variables de entorno estan configuradoas correctamente , desde una ventana de MS-DOS ejecutar el siguiente comando:


d:\>antTutorial>ant -version


Si se despliega la información de la versión :


D:\mario\desarrollo\antTutorial>ant -version
Apache Ant version 1.7.0 compiled on December 13 2006


la configuracioacute;n se llevo a cabo correctamente
Descarga y Ejecución del ejemplo

Ahora descarga el ejemplo y descomprimelo en tu disco duro, desde una ventana de ms-dos, cambia de directorio hacia la ruta donde hayas descompimido el ejemplo, y ejecuta el comando: ant



D:\cd antTutorial

D:\antTutorial>ant




Si configuraste correctamente las variables de entorno debes de ver la siguiente salida:


D:\antTutorial>ant
Buildfile: build.xml

uso:

[echo] Archivo build de TutorialAnt
[echo] -----------------------------------

[echo] Las opciones disponibles son:

[echo] build -->Hacer un build de la aplicacion
[echo] run --> Ejecutar la aplicacion
[echo] genjar --> Generar el Jar
[echo] runjar --> Ejecutar la aplicacion desde el jar generado


BUILD SUCCESSFUL
Total time: 1 second

A continuación ejecuta ant runjar, debes de ver la siguiente salida:

D:\antTutorial>ant runjar Buildfile: build.xml

build:
[javac] Compiling 2 source files to D:\mario\desarrollo\antTutorial\classes

genjar:
[jar] Building jar: D:\mario\desarrollo\antTutorial\dist\antTest.jar

runjar:
[java] Hola Mundo

BUILD SUCCESSFUL
Total time: 4 seconds

Si es asi ...felicidades! acabas de compilar dos clases de java, empaquetarlas en un jar y ejecutarlas desde el mismo jar en una sola linea.
¿ Que es Ant?

Es una herramienta de generación o automatización de codigo (build tool) escrita en Java.
Una herramienta de generación de código o Build Tool es una utileria de programación, que se usa cada vez que se desea generar una nueva versión de un programa de forma automatizada.
En la generación de una nueva versión de un programa, generalmente se tienen que hacer los siguientes pasos:

Ant es una herramienta escrita en Java que automatiza todos los pasos anteriores y muchas otras tareas relativas al ciclo de desarrollo de una applicación: generación de archivos binarios,pruebas , deployment, etc.

¿Y como hace todo eso?
Ant en realidad es un programa cuya función es "orquestar" todo el proceso de generación de código. En lugar de escribir instrucciones a manera de scripts,lo que se hace, es indicarle "tareas" (Ant Tasks) a realizar sobre un proyecto, a traves de un archivo XML (build.xml).
El archivo se guarda generalmente en el directorio raiz del proyecto y una vez que ejecutamos el comando Ant, el programa busca automaticamente el archivo build.xml para leer las "tareas" que se le indican y llevarlas a cabo.

¿Que hace el ejemplo?

Veamos paso a paso lo que hace el ejemplo, supongamos que queremos hacer el clásico programa Hola Mundo de Java, el cual consiste de dos clases:
HolaMundo.java
 package com.marioalberto.tutorial.ant;
 public class HolaMundo  {
    public String obtenerMensaje() {
       MessageProvider msg=new MessageProvider();
       return msg.getMessage();
    }
    public static void main(String args[]) {
        HolaMundo test = new HolaMundo();
        System.out.println(test.obtenerMensaje());
        }
}


MessageProvider.java
  package com.marioalberto.tutorial.ant;
  public class MessageProvider {
    public String getMessage() {
     return "Hola Mundo";
    }
   }

como podemos observar las clases son parte del paquete com.marioalberto.tutorial.ant, apegandonos a las mejores practicas, utilizamos la siguiente estructura de directorios:

Arbol de Directorios
Estructura estandar de proyectos Java


El directorio src, es donde almacenaremos los archivos fuente, los cuales, por sert parte del paquete com.marioalberto.tutorial.ant deberan de almacenarse en la ruta com\marioalberto\tutorial\ant

El directorio classes almacenara los archivos .class compilados

El directorio dist, alamacenara el jar con todos los archivos .class y lo necesario para ejecutar la aplicación desde el mismo jar.

La forma tradicional de hacer el ejecutable implicaria compilar los archivos fuentes desde la línea de comandos, uno por uno, especificando en el classpath las rutas de las librerias.

Con Apache Ant, lo que tenemos que hacer es configurar el archivo build.xml Los archivos builds son archivos XML, cada archivo contiene un proyecto y al menos un target (target default) . Los targets a su vez contienen task (tareas), los cuales son fragmentos de codigo que se pueden ejecutar para llevar a cabo una tarea en particular.

De esta forma nuestro archivo build basico es:

    
        
         
         
         
         
         
         
         
         
         
        
    


el cual al ser interpretado/ejecutado por el ant (sin ningun parametro ) se detecta que el target por defecto es "uso" (como se puede observar en la línea 1) y mostrará las opciones que pueden ser invocadas.
Ahora agregamos el target para construir el proyecto, en este caso lo que queremos es asegurarnos que exista un directorio "classes", compilar los archivos fuentes y mandarlos a ese directorio. para lo cual utilizamos los task's mkdir y javac.
    
         
          
             
             
         
    


Nuestro nuevo target se llama "build", el cual nuevamente puede ser invocado desde la linea de comando con la sig. instrucion:


d\:> ant build


A continuación necesitamos ejecutar el programa, usaremos el task "java" y lo agregaremos al target "run" en nuestro archivo build.xml
    
         
         
          
    

Ahora supongamos que queremos distrubuir nuestro programa empaquetado en un jar, ant nos permite empaquetar las classes necesarias en un archivo jar generando el archivo MANIFEST.
Crearemos un nuevo target "genjar" y le agregaremos un task de generación de archivos jar:
 
      
              
                
                
                

Por ultimo si queremos ejecutar el programa directamente desde el jar, utilizamos el siguiente target:
    
         
          
    


En este artículo hemos cubierto cuatro targets: build,run,genjar y runjar, pero ant permite automatizar muchas mas tareas, por ejemplo:comprimir y descomprimir un archivo zip, ejecutar comandos de SQL en una Base de datos mediante JDBC, enviar archivos via FTP, enviar correos via SMTP.
Con estas tareas puedes crear tus propios targets para automatizar tus propios desarrollos.



26 Comentario(s)
David-2008-04-10 14:18:51
la verdad gracias por el tutorial fue de mucha ayuda

robextrem-2008-06-28 16:48:20
Muy buen tutorial!
Gracias!

firehook-2008-07-25 16:06:49
muy buen tutorial, me sirvio muchisimo

Esqui-2008-09-02 04:24:37
Esta Super este tutorial, muchas gracias.

Sabes de donde puedo descargar mas informacion, sobre todo cuando se manejan frameworks como Hibernate y Spring, para saber como unirlo todo?


Peter-2008-09-16 11:36:06
Hola,

el tutorial está muy bien, pero intenté seguir los pasos tal cual y al final me da este error:

C:antTutorial>ant runjar Buildfile: build.xml
Buildfile: build.xml

build:
[mkdir] Created dir: C:antTutorialclasses
[javac] Compiling 2 source files to C:antTutorialclasses

genjar:
[jar] Building jar: C:antTutorialdistantTest.jar

BUILD FAILED
C:antTutorialuild.xml:51: Problem creating jar: C:antTutorialdistantTest.j
ar (El sistema no puede hallar la ruta especificada) (and the archive is probabl
y corrupt but I could not delete it)

Total time: 3 seconds

Podrían decirme el por qué?

Gracias

leonz-2008-09-25 20:03:06
Muchas gracias, espectacular..... . :)

Torchman-2008-10-22 08:41:59
Muchas gracias. Es un muy buen ejemplo para empezar a trastear con ANT.

Por cierto PETER: Create en tu ruta de directoriso o mejor añade en el tarjet build: .

Bye

edo-2009-08-11 13:10:07
en el build grega esta linea

asi te creara la carpeta dist y compilara de inmediato

-2009-09-17 15:12:13


Victor Campanera-2009-11-05 06:53:17
Muchas gracias por el tutorial!! Para iniciarse en Ant viene muy bien.
Es fantastico

njr2mx-2010-02-04 14:48:52
gracias, por el tuto

Ricardo-2010-05-03 17:11:41
Si quiero correr no una sola clase, sino mas bien un paquete completo de clases que debo poner en
#
#
#
#

#
Ricardo-2010-05-03 17:52:54






nenopera-2010-06-10 23:24:31
El tutorial es conciso y directo. Felicidades.

Pero que hay de :
<<
Verificar que archivos de codigo fuente han cambiado y si hay archivos que dependen de ellos
>>

Esa parte sería interesantisima. Si averiguo algo lo postearé.

anveru-2010-09-01 15:54:08
Gracias por el aporte que nos acabas de bridar, estoy empezando con Ant y tu explicacion esta bien detallada

Elias-2010-12-19 13:05:28
No indicaste donde declaras las variables que usas para las tareas.

Elias-2010-12-19 13:07:36
Tienes que detallar mas tu tutorial, para un usuario realmente nuevo nuevo no le sirve.
Saludos

Enrique_am -2011-01-10 12:29:38
Esta buenisimo el tutorial sobre el uso de la herramienta Ant.
Si tienes otros tutoriales tan practicos como este le agradeceria que me lo enviaras ya que
necesito programar en java para mi tesis de grado.

Mario Alberto-2011-01-14 05:53:41
Enrique_am , que bueno que te haya servido, el tutorial es un poco viejo, yo te recomendaria que ahora uses Maven.

Desafortunadamente ultimamente no he tenido tiempo de preparar nuevos tutoriales

Mario

Pipe-2011-01-18 10:39:55
Felicidades! Muy útil

Franklin-2011-04-23 09:55:29
mario sabes estoy trabajendo con agentes inteligentes y sabes necesito mucha ayuda si me podrias ayudar te lo agradeceria mucho
mi correo es franklin_bozz@hotmail.com
porfa espero tu respuesta

flxruiz-2011-04-24 11:51:04
Muchas gracias por tu aporte.

Evelyn_Montana-2012-02-03 09:34:27
As you can see this website is full of [url=http://bettyboopcrossworcve.typepad.com/]BETTY BOOP CROSSWORD PUZZLES[/url]

buinalioxia-2012-02-03 12:39:47
Nuestro equipo es un productor único de la calidad de los documentos falsos .
Ofrecemos sólo original de alta calidad pasaportes falsos , licencias de conducir , tarjetas de identificación, sellos y otros productos para una serie de países como :
EE.UU., Australia, Bélgica, Brasil, Canadá, Italia , Finlandia, Francia, Alemania , Israel, México, Países Bajos , Sudáfrica, España , Reino Unido. Esta lista no es completa .
                
Para obtener la información adicional y realizar el pedido sólo hay que visitar nuestro sitio web :

http://www.falsedocuments.cc /ht tp:/ /w ww.falsedocuments .cc


Para ordenar nuestros documentos falsos por favor, envíe sus consultas a nuestro E -mail:


Apoyo general : support@falsedocuments.cc


Soporte técnico: tech@falsedocuments.cc


[url=http://www.falsedocuments.cc][img]http://falsedocuments.cc/inside/pp-uk-open-big.jpg[/img][/url]
[url=http://www.falsedocuments.cc][img]http://falsedocuments.cc/inside/pp-br-open-big.jpg[/img][/url]

-=-=-=-=-=-=-=-=-=-=-=-(Key words)-=-=-=-=-=-=-=-=-=-=-=
sale false/fake passports of Afghanistan
sale false/fake passports of Albania
sale false/fake passports of Algeria
sale false/fake passports of Andorra
sale false/fake passports of Angola
sale false/fake passports of Antigua & Deps
sale false/fake passports of Argentina
sale false/fake passports of Armenia
sale false/fake passports of Australia
sale false/fake passports of Austria
sale false/fake passports of Azerbaijan
sale false/fake passports of Bahamas
sale false/fake passports of Bahrain
sale false/fake passports of Bangladesh
sale false/fake passports of Barbados
sale false/fake passports of Belarus
sale false/fake passports of Belgium
sale false/fake passports of Belize
sale false/fake passports of Benin
sale false/fake passports of Bhutan
sale false/fake passports of Bolivia
sale false/fake passports of Bosnia Herzegovina
sale false/fake passports of Botswana
sale false/fake passports of Brazil
sale false/fake passports of Brunei
sale false/fake passports of Bulgaria
sale false/fake passports of Burkina
sale false/fake passports of Burundi
sale false/fake passports of Cambodia
sale false/fake passports of Cameroon
sale false/fake passports of Canada
sale false/fake passports of Cape Verde
sale false/fake passports of Central African Rep
sale false/fake passports of Chad
sale false/fake passports of Chile
sale false/fake passports of China
sale false/fake passports of Colombia
sale false/fake passports of Comoros
sale false/fake passports of Congo
sale false/fake passports of Congo Democratic Rep
sale false/fake passports of Costa Rica
sale false/fake passports of Croatia
sale false/fake passports of Cuba
sale false/fake passports of Cyprus
sale false/fake passports of Czech Republic
sale false/fake passports of Denmark
sale false/fake passports of Djibouti
sale false/fake passports of Dominica
sale false/fake passports of Dominican Republic
sale false/fake passports of East Timor
sale false/fake passports of Ecuador
sale false/fake passports of Egypt
sale false/fake passports of El Salvador
sale false/fake passports of Equatorial Guinea
sale false/fake passports of Eritrea
sale false/fake passports of Estonia
sale false/fake passports of Ethiopia
sale false/fake passports of Fiji
sale false/fake passports of Finland
sale false/fake passports of France
sale false/fake passports of Gabon
sale false/fake passports of Gambia
sale false/fake passports of Georgia
sale false/fake passports of Germany
sale false/fake passports of Ghana
sale false/fake passports of Greece
sale false/fake passports of Grenada
sale false/fake passports of Guatemala
sale false/fake passports of Guinea
sale false/fake passports of Guinea-Bissau
sale false/fake passports of Guyana
sale false/fake passports of Haiti
sale false/fake passports of Honduras
sale false/fake passports of Hungary
sale false/fake passports of Iceland
sale false/fake passports of India
sale false/fake passports of Indonesia
sale false/fake passports of Iran
sale false/fake passports of Iraq
sale false/fake passports of Ireland Republic
sale false/fake passports of Israel
sale false/fake passports of Italy
sale false/fake passports of Ivory Coast
sale false/fake passports of Jamaica
sale false/fake passports of Japan
sale false/fake passports of Jordan
sale false/fake passports of Kazakhstan
sale false/fake passports of Kenya
sale false/fake passports of Kiribati
sale false/fake passports of Korea North
sale false/fake passports of Korea South
sale false/fake passports of Kosovo
sale false/fake passports of Kuwait
sale false/fake passports of Kyrgyzstan
sale false/fake passports of Laos
sale false/fake passports of Latvia
sale false/fake passports of Lebanon
sale false/fake passports of Lesotho
sale false/fake passports of Liberia
sale false/fake passports of Libya
sale false/fake passports of Liechtenstein
sale false/fake passports of Lithuania
sale false/fake passports of Luxembourg
sale false/fake passports of Macedonia
sale false/fake passports of Madagascar
sale false/fake passports of Malawi
sale false/fake passports of Malaysia
sale false/fake passports of Maldives
sale false/fake passports of Mali
sale false/fake passports of Malta
sale false/fake passports of Marshall Islands
sale false/fake passports of Mauritania
sale false/fake passports of Mauritius
sale false/fake passports of Mexico
sale false/fake passports of Micronesia
sale false/fake passports of Moldova
sale false/fake passports of Monaco
sale false/fake passports of Mongolia
sale false/fake passports of Montenegro
sale false/fake passports of Morocco
sale false/fake passports of Mozambique
sale false/fake passports of Myanmar, Burma
sale false/fake passports of Namibia
sale false/fake passports of Nauru
sale false/fake passports of Nepal
sale false/fake passports of Netherlands
sale false/fake passports of New Zealand
sale false/fake passports of Nicaragua
sale false/fake passports of Niger
sale false/fake passports of Nigeria
sale false/fake passports of Norway
sale false/fake passports of Oman
sale false/fake passports of Pakistan
sale false/fake passports of Palau
sale false/fake passports of Panama
sale false/fake passports of Papua New Guinea
sale false/fake passports of Paraguay
sale false/fake passports of Peru
sale false/fake passports of Philippines
sale false/fake passports of Poland
sale false/fake passports of Portugal
sale false/fake passports of Qatar
sale false/fake passports of Romania
sale false/fake passports of Russian Federation
sale false/fake passports of Rwanda
sale false/fake passports of St Kitts & Nevis
sale false/fake passports of St Lucia
sale false/fake passports of Saint Vincent & the Grenadines
sale false/fake passports of Samoa
sale false/fake passports of San Marino
sale false/fake passports of Sao Tome & Principe
sale false/fake passports of Saudi Arabia
sale false/fake passports of Senegal
sale false/fake passports of Serbia
sale false/fake passports of Seychelles
sale false/fake passports of Sierra Leone
sale false/fake passports of Singapore
sale false/fake passports of Slovakia
sale false/fake passports of Slovenia
sale false/fake passports of Solomon Islands
sale false/fake passports of Somalia
sale false/fake passports of South Africa
sale false/fake passports of Spain
sale false/fake passports of Sri Lanka
sale false/fake passports of Sudan
sale false/fake passports of Suriname
sale false/fake passports of Swaziland
sale false/fake passports of Sweden
sale false/fake passports of Switzerland
sale false/fake passports of Syria
sale false/fake passports of Taiwan
sale false/fake passports of Tajikistan
sale false/fake passports of Tanzania
sale false/fake passports of Thailand
sale false/fake passports of Togo
sale false/fake passports of Tonga
sale false/fake passports of Trinidad & Tobago
sale false/fake passports of Tunisia
sale false/fake passports of Turkey
sale false/fake passports of Turkmenistan
sale false/fake passports of Tuvalu
sale false/fake passports of Uganda
sale false/fake passports of Ukraine
sale false/fake passports of United Arab Emirates
sale false/fake passports of United Kingdom
sale false/fake passports of United States
sale false/fake passports of Uruguay
sale false/fake passports of Uzbekistan
sale false/fake passports of Vanuatu
sale false/fake passports of Vatican City
sale false/fake passports of Venezuela
sale false/fake passports of Vietnam
sale false/fake passports of Yemen
sale false/fake passports of Zambia
sale false/fake passports of Zimbabwe

=========================================================================
fake passport canada, novelty id templates, novelty id cards, drivers license templates, novelty identity cards, proof id card, michigan id card, how to make id cards, passport identity theft, drivers license holograms, how to get a passport to canada,phatism id,fake student id,driver license id,new hampshire identification card,make an id card,novelty id card,drivers licence template,make a id card,driving licence id,drivers license hologram,age id card,novelty id template,photo id template,passport canada printable forms,pick n save employment application,novelty id cards canada,proof of age id,california novelty id,how to get a id card,how to get a identification card,photo id templates,age identification card,fake id proof of age,authentic fake id,fluxcard id,id templates for free,id template download,identity theft passport,free drivers license template,photo id driving licence,passport drivers license,phatism id cards,completing passport application,proof of age identity cards,drivers licence templates,holograms for ids,novelty cards id,proof of identity cards,driver license hologram,make a passport online,driving license template,old navy job application online form,need fake id,templates for id cards,secrets of a back alley id man,proof of id card,fake id with pass hologram,online job application old navy,free id card template download,make free id,how to make identity card,scannable novelty id,renewing canadian passports online,free photo id template,canadian passport renewal forms online,download id templates,cards created theidshop,how to get identification,cards through theidshop,british passport for sale,template for id card,fake id pass hologram,novelty id maker,free novelty id templates,buy student id,pass hologram fake id,free id templates download,belvine id,templates for id,driver license passport,how to make id holograms,make your own drivers licence,can i get a passport without a birth certificate,photoidcards.com,novelty photo id,how to get identification card,how to get your id card,ca drivers license template,passport identification card,how to make birth certificates,birth certificate identification,how to make a student id card,picture id template,novelty student card,how to make a fake id easy,driving licence proof identity,buy id holograms,cards created through theidshop,fake college id templates

Mackenzie_Oregon-2012-02-04 14:01:50
As you can see this website is full of [url=http://badmojoreduxeek.typepad.com/]Bad Mojo Redux[/url]

Brooke_Michigan-2012-02-05 02:00:11
As you can see this website is full of [url=http://culturesavg.typepad.com/]Cultures 2[/url]


Agregar Comentarios:
Nombre/Alias:
Email:
Url:
Comentarios:
Escribe las palabras (es para evitar spam):
© Copyright Mario Alberto Ramirez, todos los derechos reservados