SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Introducción a Apache ANT
Apache ANT

Conceptos básicos
    Herramienta usada en programación para la
   realización de tareas mecánicas y repetitivas.
    Normalmente durante la fase de compilación y
   construcción (build).
    Similar a Make pero para Java.
    La diferencia más notable entre Ant y Make es que
   Ant utiliza XML para describir el proceso de
   generación y sus dependencias, mientras que Make
   utiliza formato makefile.
Apache ANT

Conceptos básicos
    Desarrollado en Java → no depende de las
   órdenes del shell de cada sistema operativo.
    Se basa en archivos de configuración XML y clases
   Java para la realización de las distintas tareas.
    Idónea como solución multi-plataforma.
    Es un proyecto de la Apache Software Foundation.
    Open source bajo licencia Apache Software.
Apache ANT

Conceptos básicos
    ANT (siglas de "Another Neat Tool", en español
   "Otra Herramienta Pura").
    Creado por James Duncan Davidson.
    Nació como un simple intérprete que cogía un
   archivo XML "build file" para compilar Tomcat
   independientemente de la plataforma sobre la que
   operaba.
    ANT (versión 1.1) fue lanzado oficialmente como
   un producto independiente el 19 de julio de 2000
Apache ANT

Uso
   Basta con disponer de una distribución de ANT y
  tener instalado la versión 1.4 o superior del JDK.
   Para ejecutar ANT → escribir ant en la línea de
  comandos. (Modificar variables de entorno)
   Si en el fichero build.xml se ha especificado un
  target por defecto, se ejecutará dicho target.
Apache ANT

Limitaciones
    Herramienta basada en XML → archivos Ant deben
   ser escritos en XML:
       • Problema en los proyectos muy grandes.
       • Archivos muy grandes → difíciles de mantener.
    No es un lenguaje para un flujo de trabajo general,
   y no debería ser usado como tal.
Apache ANT

Fichero build.xml
    Los buildfiles de ANT están escritos en XML.
    Cada buildfile contiene un proyecto (project) y al
   menos un objetivo (target).
    Cada target puede contener varias tareas (task)
   que son fragmentos de código a ejecutar.
    Un proyecto, además, puede constar de diversas
   propiedades.
Apache ANT

Fichero build.xml - Ejemplo
<?xml version="1.0"?>
<project name="tutorialant" basedir="." default="uso">
  <property name="src.dir" value="src"/>
  <property name="build.dir" value="classes"/>

  <path id="master-classpath">
    <pathelement path="${build.dir}"/>
  </path>

  <target name="build" description="Compilar los archivos fuente">
     <mkdir dir="${build.dir}"/>
     <javac destdir="${build.dir}" debug="true"
          deprecation="false" optimize="false" failonerror="true">
        <src path="${src.dir}"/>
        <classpath refid="master-classpath"/>
     </javac>
  </target>

   <target name="run" depends="build" description="Ejecutar Aplicacion">
      <java classname="com.tutorial.ant.HolaMundo">
              <classpath refid="master-classpath"/>
      </java>
  </target>
</project>
Apache ANT

Fichero de propiedades
    Fichero que agrupa propiedades usadas en las
   tareas.
    Aconsejable:
       • Limpieza de build.xml.
       • Mejora el mantenimiento.
       • Facilita la reutilización de tareas.
 <!-- CARGA FICHERO DE PROPIEDADES -->
 <property file="build.properties" />
Introducción a Apache ANT


         FIN
                         Iker Canarias
                  iker.canarias (gmail)

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

servidores web
servidores webservidores web
servidores web
 
Paginacin y-segmentacion combinadas
Paginacin y-segmentacion combinadasPaginacin y-segmentacion combinadas
Paginacin y-segmentacion combinadas
 
7.2. funciones sql
7.2.  funciones sql7.2.  funciones sql
7.2. funciones sql
 
Presentacion Ftp
Presentacion FtpPresentacion Ftp
Presentacion Ftp
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Comparación awt y java swing
Comparación awt y java swingComparación awt y java swing
Comparación awt y java swing
 
Engage2022 - Domino Admin Tips
Engage2022 - Domino Admin TipsEngage2022 - Domino Admin Tips
Engage2022 - Domino Admin Tips
 
Sesión13 - Archivos de Control (Oracle)
Sesión13 - Archivos de Control (Oracle)Sesión13 - Archivos de Control (Oracle)
Sesión13 - Archivos de Control (Oracle)
 
NodeJS
NodeJSNodeJS
NodeJS
 
Tablespaces En Oracle
Tablespaces En OracleTablespaces En Oracle
Tablespaces En Oracle
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 
DNS
DNSDNS
DNS
 
Servidor ftp en centos 7
Servidor ftp en centos 7Servidor ftp en centos 7
Servidor ftp en centos 7
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windows
 
Lenguaje PHP
Lenguaje PHPLenguaje PHP
Lenguaje PHP
 
Preguntas de examen
Preguntas de examenPreguntas de examen
Preguntas de examen
 
Nagios
NagiosNagios
Nagios
 
Instalaccion de Windows 8.1
Instalaccion de Windows 8.1Instalaccion de Windows 8.1
Instalaccion de Windows 8.1
 
Putty
PuttyPutty
Putty
 
Los Componentes Internos del Router
Los Componentes Internos del RouterLos Componentes Internos del Router
Los Componentes Internos del Router
 

Destacado

Bonne année 2010
Bonne année 2010Bonne année 2010
Bonne année 2010guest913fe6
 
Tablets PC à Centrale Nantes : bilan d'une année d'utilisation à l'occasion d...
Tablets PC à Centrale Nantes : bilan d'une année d'utilisation à l'occasion d...Tablets PC à Centrale Nantes : bilan d'une année d'utilisation à l'occasion d...
Tablets PC à Centrale Nantes : bilan d'une année d'utilisation à l'occasion d...Morgan Magnin
 
Présentation Energy Enhancer
Présentation Energy EnhancerPrésentation Energy Enhancer
Présentation Energy EnhancerHerve Royal
 
Viison dynamique et geographique de l'epidemie ebola 20140915
Viison dynamique et geographique de l'epidemie ebola 20140915Viison dynamique et geographique de l'epidemie ebola 20140915
Viison dynamique et geographique de l'epidemie ebola 20140915Jan-Cedric Hansen
 
Murmure 004 23sept2011
Murmure 004 23sept2011Murmure 004 23sept2011
Murmure 004 23sept2011Claudie Merlet
 
Faire forced choices
Faire forced choicesFaire forced choices
Faire forced choicesbottejan
 
Pour l'être aimer By Shany
Pour l'être aimer By ShanyPour l'être aimer By Shany
Pour l'être aimer By Shanyguestd46df9
 
Etude SNCD - Marketing Mobile Attitude - MMA 2013
Etude SNCD - Marketing Mobile Attitude - MMA 2013Etude SNCD - Marketing Mobile Attitude - MMA 2013
Etude SNCD - Marketing Mobile Attitude - MMA 2013Anthony Deydier
 
Sistemas Distribuidos conceptos generales
Sistemas Distribuidos conceptos generalesSistemas Distribuidos conceptos generales
Sistemas Distribuidos conceptos generalesarquitectura5
 

Destacado (20)

Gradle como alternativa a maven
Gradle como alternativa a mavenGradle como alternativa a maven
Gradle como alternativa a maven
 
Gradle vs Maven
Gradle vs MavenGradle vs Maven
Gradle vs Maven
 
Portfolio Indecom'
Portfolio Indecom'Portfolio Indecom'
Portfolio Indecom'
 
Bonne année 2010
Bonne année 2010Bonne année 2010
Bonne année 2010
 
Tablets PC à Centrale Nantes : bilan d'une année d'utilisation à l'occasion d...
Tablets PC à Centrale Nantes : bilan d'une année d'utilisation à l'occasion d...Tablets PC à Centrale Nantes : bilan d'une année d'utilisation à l'occasion d...
Tablets PC à Centrale Nantes : bilan d'une année d'utilisation à l'occasion d...
 
Présentation Energy Enhancer
Présentation Energy EnhancerPrésentation Energy Enhancer
Présentation Energy Enhancer
 
Viison dynamique et geographique de l'epidemie ebola 20140915
Viison dynamique et geographique de l'epidemie ebola 20140915Viison dynamique et geographique de l'epidemie ebola 20140915
Viison dynamique et geographique de l'epidemie ebola 20140915
 
Dlire Charly Killian Samuel
Dlire Charly Killian SamuelDlire Charly Killian Samuel
Dlire Charly Killian Samuel
 
Murmure 004 23sept2011
Murmure 004 23sept2011Murmure 004 23sept2011
Murmure 004 23sept2011
 
Faire forced choices
Faire forced choicesFaire forced choices
Faire forced choices
 
Les volcan 43
Les volcan 43Les volcan 43
Les volcan 43
 
Argumentacióny litigaciónoral
Argumentacióny litigaciónoralArgumentacióny litigaciónoral
Argumentacióny litigaciónoral
 
Pour l'être aimer By Shany
Pour l'être aimer By ShanyPour l'être aimer By Shany
Pour l'être aimer By Shany
 
Qué es un blog
Qué es un blogQué es un blog
Qué es un blog
 
Stephanie
StephanieStephanie
Stephanie
 
Etude SNCD - Marketing Mobile Attitude - MMA 2013
Etude SNCD - Marketing Mobile Attitude - MMA 2013Etude SNCD - Marketing Mobile Attitude - MMA 2013
Etude SNCD - Marketing Mobile Attitude - MMA 2013
 
Sistemas Distribuidos conceptos generales
Sistemas Distribuidos conceptos generalesSistemas Distribuidos conceptos generales
Sistemas Distribuidos conceptos generales
 
Lastic2
Lastic2Lastic2
Lastic2
 
Recherchenet
RecherchenetRecherchenet
Recherchenet
 
Tics
TicsTics
Tics
 

Similar a Breve introducción a Apache Ant

Similar a Breve introducción a Apache Ant (20)

Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Ant tutorial
Ant tutorialAnt tutorial
Ant tutorial
 
Barracuda mvc
Barracuda mvcBarracuda mvc
Barracuda mvc
 
Tomcat yant
Tomcat yantTomcat yant
Tomcat yant
 
02%20 ant
02%20 ant02%20 ant
02%20 ant
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Tutorial eclipse
Tutorial eclipseTutorial eclipse
Tutorial eclipse
 
Open Source Tools for Java Projects
Open Source Tools for Java ProjectsOpen Source Tools for Java Projects
Open Source Tools for Java Projects
 
Apuntes ejercicios programacion i
Apuntes ejercicios programacion iApuntes ejercicios programacion i
Apuntes ejercicios programacion i
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 intro java
C1 intro javaC1 intro java
C1 intro java
 
Java
JavaJava
Java
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipse
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipse
 
Partes de la pantalla de eclipse
Partes de la pantalla de eclipsePartes de la pantalla de eclipse
Partes de la pantalla de eclipse
 
TUTORIAL DE ECLIPSE
TUTORIAL DE ECLIPSETUTORIAL DE ECLIPSE
TUTORIAL DE ECLIPSE
 
Semana9 Vbr
Semana9 VbrSemana9 Vbr
Semana9 Vbr
 

Más de Iker Canarias

Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de softwareIker Canarias
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticasIker Canarias
 
Introducción a JUnit
Introducción a JUnitIntroducción a JUnit
Introducción a JUnitIker Canarias
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones JavaIker Canarias
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en JavaIker Canarias
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a TomcatIker Canarias
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBossIker Canarias
 
Buenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareBuenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareIker Canarias
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIker Canarias
 

Más de Iker Canarias (11)

Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticas
 
Introducción a JUnit
Introducción a JUnitIntroducción a JUnit
Introducción a JUnit
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones Java
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
 
Introducción a JEE
Introducción a JEEIntroducción a JEE
Introducción a JEE
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBoss
 
Buenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareBuenas prácticas para la construcción de software
Buenas prácticas para la construcción de software
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
 

Último

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfYanitza28
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...solanocortezluisalfr
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Retornamos a la escuela y nos organizamos para convivir en armonía
Retornamos a la escuela y nos organizamos para convivir en armoníaRetornamos a la escuela y nos organizamos para convivir en armonía
Retornamos a la escuela y nos organizamos para convivir en armoníaJuanPabloVictorianoS
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfYanitza28
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 

Último (17)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Retornamos a la escuela y nos organizamos para convivir en armonía
Retornamos a la escuela y nos organizamos para convivir en armoníaRetornamos a la escuela y nos organizamos para convivir en armonía
Retornamos a la escuela y nos organizamos para convivir en armonía
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 

Breve introducción a Apache Ant

  • 2. Apache ANT Conceptos básicos  Herramienta usada en programación para la realización de tareas mecánicas y repetitivas.  Normalmente durante la fase de compilación y construcción (build).  Similar a Make pero para Java.  La diferencia más notable entre Ant y Make es que Ant utiliza XML para describir el proceso de generación y sus dependencias, mientras que Make utiliza formato makefile.
  • 3. Apache ANT Conceptos básicos  Desarrollado en Java → no depende de las órdenes del shell de cada sistema operativo.  Se basa en archivos de configuración XML y clases Java para la realización de las distintas tareas.  Idónea como solución multi-plataforma.  Es un proyecto de la Apache Software Foundation.  Open source bajo licencia Apache Software.
  • 4. Apache ANT Conceptos básicos  ANT (siglas de "Another Neat Tool", en español "Otra Herramienta Pura").  Creado por James Duncan Davidson.  Nació como un simple intérprete que cogía un archivo XML "build file" para compilar Tomcat independientemente de la plataforma sobre la que operaba.  ANT (versión 1.1) fue lanzado oficialmente como un producto independiente el 19 de julio de 2000
  • 5. Apache ANT Uso  Basta con disponer de una distribución de ANT y tener instalado la versión 1.4 o superior del JDK.  Para ejecutar ANT → escribir ant en la línea de comandos. (Modificar variables de entorno)  Si en el fichero build.xml se ha especificado un target por defecto, se ejecutará dicho target.
  • 6. Apache ANT Limitaciones  Herramienta basada en XML → archivos Ant deben ser escritos en XML: • Problema en los proyectos muy grandes. • Archivos muy grandes → difíciles de mantener.  No es un lenguaje para un flujo de trabajo general, y no debería ser usado como tal.
  • 7. Apache ANT Fichero build.xml  Los buildfiles de ANT están escritos en XML.  Cada buildfile contiene un proyecto (project) y al menos un objetivo (target).  Cada target puede contener varias tareas (task) que son fragmentos de código a ejecutar.  Un proyecto, además, puede constar de diversas propiedades.
  • 8. Apache ANT Fichero build.xml - Ejemplo <?xml version="1.0"?> <project name="tutorialant" basedir="." default="uso"> <property name="src.dir" value="src"/> <property name="build.dir" value="classes"/> <path id="master-classpath"> <pathelement path="${build.dir}"/> </path> <target name="build" description="Compilar los archivos fuente"> <mkdir dir="${build.dir}"/> <javac destdir="${build.dir}" debug="true" deprecation="false" optimize="false" failonerror="true"> <src path="${src.dir}"/> <classpath refid="master-classpath"/> </javac> </target> <target name="run" depends="build" description="Ejecutar Aplicacion"> <java classname="com.tutorial.ant.HolaMundo"> <classpath refid="master-classpath"/> </java> </target> </project>
  • 9. Apache ANT Fichero de propiedades  Fichero que agrupa propiedades usadas en las tareas.  Aconsejable: • Limpieza de build.xml. • Mejora el mantenimiento. • Facilita la reutilización de tareas. <!-- CARGA FICHERO DE PROPIEDADES --> <property file="build.properties" />
  • 10. Introducción a Apache ANT FIN Iker Canarias iker.canarias (gmail)