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

Learn Java with Dr. Rifat Shahriyar
Learn Java with Dr. Rifat ShahriyarLearn Java with Dr. Rifat Shahriyar
Learn Java with Dr. Rifat ShahriyarAbir Mohammad
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Laravel Routing and Query Building
Laravel   Routing and Query BuildingLaravel   Routing and Query Building
Laravel Routing and Query BuildingMindfire Solutions
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to MavenVadym Lotar
 
Java Servlets
Java ServletsJava Servlets
Java ServletsNitin Pai
 
Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...
Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...
Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...Edureka!
 
Tomcat and apache httpd training
Tomcat and apache httpd trainingTomcat and apache httpd training
Tomcat and apache httpd trainingFranck SIMON
 
Modern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and ThymeleafModern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and ThymeleafLAY Leangsros
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot trainingMallikarjuna G D
 
Java Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesJava Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesIMC Institute
 
Nix: What even is it though?
Nix: What even is it though?Nix: What even is it though?
Nix: What even is it though?Burke Libbey
 

La actualidad más candente (20)

Java presentation
Java presentation Java presentation
Java presentation
 
Learn Java with Dr. Rifat Shahriyar
Learn Java with Dr. Rifat ShahriyarLearn Java with Dr. Rifat Shahriyar
Learn Java with Dr. Rifat Shahriyar
 
Java 9 Features
Java 9 FeaturesJava 9 Features
Java 9 Features
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Laravel Routing and Query Building
Laravel   Routing and Query BuildingLaravel   Routing and Query Building
Laravel Routing and Query Building
 
Jdbc
JdbcJdbc
Jdbc
 
Yaml
YamlYaml
Yaml
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to Maven
 
Laravel Tutorial PPT
Laravel Tutorial PPTLaravel Tutorial PPT
Laravel Tutorial PPT
 
Packages in java
Packages in javaPackages in java
Packages in java
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...
Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...
Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...
 
Tomcat and apache httpd training
Tomcat and apache httpd trainingTomcat and apache httpd training
Tomcat and apache httpd training
 
Modern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and ThymeleafModern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and Thymeleaf
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot training
 
Core java
Core java Core java
Core java
 
Java Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesJava Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web Services
 
Nix: What even is it though?
Nix: What even is it though?Nix: What even is it though?
Nix: What even is it though?
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 

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

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Último (13)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

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)