Apache Ant es un software de línea de comandos de código abierto y completamente multiplataforma implementado en Java, distribuido junto con el proyecto Apache y diseñado desde cero como un poderoso build para compilar aplicaciones escritas en el lenguaje de programación Java.
Similar a GNU hacer
El software Apache Ant, que es un programa de línea de comandos, es muy similar al compilador de código abierto GNU make, pero se sabe que tiene mucho mejor soporte para varios problemas de plataforma cruzada con el desarrollo de aplicaciones Java. p
El sistema de construcción perfecto para muchos proyectos Java
Siendo un proyecto Apache, el software Apache Ant es el sistema de construcción perfecto para muchos proyectos Java en Apache, así como numerosos otros proyectos independientes de código abierto que están escritos en el lenguaje de programación Java.
Introducción a Apache Ant
Si usted es un usuario final que necesita que Apache Ant compile los orígenes de una aplicación escrita en Java, o un aspirante a desarrollador Java, puede utilizar fácilmente el Apache Ant en su sistema operativo de elección (ver la siguiente sección para sistemas operativos compatibles).
Para su conveniencia, el software se distribuye como un binario pre-construido que puede ser usado en cualquier sistema operativo GNU / Linux, 32 y sabores de 64 bits son compatibles. Por supuesto, los usuarios avanzados que quieren optimizar la instalación también pueden tomar el paquete fuente de Softoware.
Simplemente ejecute el comando & lsquo; ant & rsquo; en un emulador de terminal para ver el mensaje de uso y las opciones de línea de comandos disponibles. Tenga en cuenta que en algunas distribuciones, Ant requiere el software OpenJDK.
Se ejecuta en GNU / Linux, Microsoft Windows y Mac OS X
Apache Ant es un software multiplataforma que se ejecuta en cualquier sistema operativo de computadora donde se soportan las tecnologías JRE (Java Runtime Environment), incluyendo todas las distribuciones GNU / Linux, así como Mac OS X y Sistemas operativos Microsoft Windows.
Novedades de esta versión:
- Cambios que podrían romper entornos antiguos:
- el atributo prefixValues de no funcionó como se esperaba cuando se establece en false (el valor predeterminado). Es muy probable que los archivos de compilación existentes dependieran del comportamiento incorrecto y esperaran que Ant resolviera el lado del valor con respecto a las propiedades definidas en el propio archivo de propiedades. Ahora estos archivos de compilación deben establecer explícitamente el atributo prefixValues como verdadero. Informe Bugzilla 54769
- al hacer coincidir una entrada de un archivo zip / tarfileset con un patrón, una barra diagonal principal se quitará del nombre de la entrada. La mayoría de los archivos no contienen caminos con barras inclinadas de todos modos. Esto puede causar la inclusión / exclusión de patrones que comienzan con un / para dejar de hacer coincidir cualquier cosa. Dichos patrones sólo se utilizan para trabajar por accidente y sólo en plataformas con múltiples raíces del sistema de archivos. Informe Bugzilla 53949
- DirectoryScanner y, por lo tanto, fileset / dirset ahora eliminarán silenciosamente todos los objetos del sistema de archivos que no sean archivos ni directorios de acuerdo con java.io.File. Esto evita que Ant de la lectura de los tubos con nombre que podría conducir al bloqueo u otro comportamiento indefinido. Informe Bugzilla 56149
- BuildFileTest y BaseSelectorTest se han desaprobado a favor de BuildFileRule y BaseSelectorRule, respectivamente, y las pruebas que ampliaron anteriormente estas pruebas de base se han convertido a pruebas JUnit 4 utilizando la nueva regla de & quot ;. Cualquier prueba externa que subclasifique una prueba en el espacio de trabajo de Ant, en lugar de BuildFileTest, necesitará cambiar para usar las anotaciones de JUnit4 o modificarse para extender BuildFileTest directamente. Esto no afectará a las pruebas que están siendo ejecutadas por las tareas junit o batchtest de Ant que no están específicamente probando el código de Ant.
- Bugs corregidos:
- / falló cuando el archivo de importación se cargó desde un URI o un jar e importó un archivo del sistema de archivos local a través de una ruta absoluta. Informe Bugzilla 50953
- podría importar el mismo recurso dos veces cuando se importa a través de diferentes tipos de recursos. Informe Bugzilla 55097
- varias llamadas a File # mkdirs podrían ser víctimas de una condición de competencia donde otro hilo ya creó el mismo directorio. Informe Bugzilla 55290
- creado '/' en lugar de './' para el directorio padre del jarfile dado. Informe Bugzilla 55049
- 's fixlastline = & quot; true & quot; no funciona cuando se utilizan ciertos lectores de filtro. Informe Bugzilla 54672
- varios lugares donde los recursos se leen de los tarros ahora deshabilitarán explícitamente el almacenamiento en caché para evitar problemas con la recarga de tarros. Informe Bugzilla 54473
- AntClassloader ignorará ahora los archivos que forman parte de la ruta de clase, pero no los archivos zip al escanear recursos. Solía lanzar una excepción. Informe Bugzilla 53964
- provocó una excepción NullPointerException cuando no se estableció destdir. Informe Bugzilla 55949
- todavía incluiría la sección principal de los manifiestos del conjunto de archivos si no hubiese ningún manifiesto anidado o atributo de manifiesto. Informe Bugzilla 54171
- la lectura de args del compilador se ha vuelto más defensiva Informe Bugzilla 53754
- sin fuerza = & quot; verdadero & quot; no sólo no sobreescribir un archivo de sólo lectura como se espera sino también quitar el archivo existente. Informe Bugzilla 53095
- quitaría los enlaces simbólicos a los archivos no incluidos. Seguirá eliminando los enlaces simbólicos a los directorios que se hubieran seguido incluso si no se incluyen explícitamente. excluir-Patrones todavía se pueden utilizar para preservar enlaces simbólicos. Informe Bugzilla 53959
- A veces, las copias-operaciones que utilizan NIO FileChannels fallan. Ant ahora intentará utilizar una operación de copia basada en secuencia como fallback cuando falla la copia basada en el canal. Informes de Bugzilla 53102 y 54397
- Javadoc.postProcessGeneratedJavadocs () falla en las clases que extienden Javadoc Bugzilla Report 56047
- TarInputStream leerá ahora los archivos creados por implementaciones de tar que codifican grandes números al no agregar un NUL al final.
- el método isExists () de URLResource devolvió falsos positivos para HTTP y URL de FTP.
- Otros cambios:
- soporte inicial para Java 1.9
- opcionalmente puede pasar System.in al proceso remoto Bugzilla Report 55393
- ahora admite la captura de salida de error del proceso ejecutado y el establecimiento de una propiedad del código de retorno. Informe Bugzilla 48478
- ahora tiene una opción para fallar si javadoc emite advertencias. Informe Bugzilla 55015
- tiene un nuevo atributo outputencoding. Informe Bugzilla 39541
- cambia a JUnitTestRunner y PlainJUnitResultFormatter para hacer que OutOfMemoryErrors sea menos probable. Informe Bugzilla 45536
- cambia a DOMElementWriter para hacer que OutOfMemoryErrors sea menos probable. Informe Bugzilla 54147
- tiene un nuevo atributo binaryOutput que impide que Ant divida la salida en líneas. Esto evita que la salida binaria se corrompa, pero puede conducir a que el error y la salida normal se mezclen. Informe Bugzilla 55667 Informe Bugzilla 56156
- los elementos anidados ahora tienen un atributo inputEncoding opcional que se puede utilizar para especificar la codificación de los archivos leídos que no utilizan la codificación por defecto de la plataforma. Informe Bugzilla 56258
- La tarea acepta y admite explícitamente la codificación de contenido gzip. Informe Bugzilla 49453
- Un nuevo tipo de recurso resourceclection actúa como una unión de s y s que comparten la misma configuración pero tienen diferentes directorios de base. Informe Bugzilla 48621
- tiene un atributo silencioso que hace que los errores del registro de tareas sólo estén activados. GitHub Pull Request # 1
- tiene ahora un atributo threads que permite ejecutar las pruebas en varios subprocesos. Informe Bugzilla 55925
- adición de una nueva clase ProcessUtil que proporciona el id de proceso del proceso actual
- cambia para permitir ejecutar los testcases JUnit de Ant en paralelo, haciendo que usen directorios temporales únicos
Qué es nuevo en la versión 1.9.4:
- Cambios que podrían romper entornos antiguos:
- el atributo prefixValues de no funcionó como se esperaba cuando se establece en false (el valor predeterminado). Es muy probable que los archivos de compilación existentes dependieran del comportamiento incorrecto y esperaran que Ant resolviera el lado del valor con respecto a las propiedades definidas en el propio archivo de propiedades. Ahora estos archivos de compilación deben establecer explícitamente el atributo prefixValues como verdadero. Informe Bugzilla 54769
- al hacer coincidir una entrada de un archivo zip / tarfileset con un patrón, una barra diagonal principal se quitará del nombre de la entrada. La mayoría de los archivos no contienen caminos con barras inclinadas de todos modos. Esto puede causar la inclusión / exclusión de patrones que comienzan con un / para dejar de hacer coincidir cualquier cosa. Dichos patrones sólo se utilizan para trabajar por accidente y sólo en plataformas con múltiples raíces del sistema de archivos. Informe Bugzilla 53949
- DirectoryScanner y, por lo tanto, fileset / dirset ahora eliminarán silenciosamente todos los objetos del sistema de archivos que no sean archivos ni directorios de acuerdo con java.io.File. Esto evita que Ant de la lectura de los tubos con nombre que podría conducir al bloqueo u otro comportamiento indefinido. Informe Bugzilla 56149
- BuildFileTest y BaseSelectorTest se han desaprobado a favor de BuildFileRule y BaseSelectorRule, respectivamente, y las pruebas que ampliaron anteriormente estas pruebas de base se han convertido a pruebas JUnit 4 utilizando la nueva regla de & quot ;. Cualquier prueba externa que subclasifique una prueba en el espacio de trabajo de Ant, en lugar de BuildFileTest, necesitará cambiar para usar las anotaciones de JUnit4 o modificarse para extender BuildFileTest directamente. Esto no afectará a las pruebas que están siendo ejecutadas por las tareas junit o batchtest de Ant que no están específicamente probando el código de Ant.
- Bugs corregidos:
- / falló cuando el archivo de importación se cargó desde un URI o un jar e importó un archivo del sistema de archivos local a través de una ruta absoluta. Informe Bugzilla 50953
- podría importar el mismo recurso dos veces cuando se importa a través de diferentes tipos de recursos. Informe Bugzilla 55097
- varias llamadas a File # mkdirs podrían ser víctimas de una condición de competencia donde otro hilo ya creó el mismo directorio. Informe Bugzilla 55290
- creado '/' en lugar de './' para el directorio padre del jarfile dado. Informe Bugzilla 55049
- 's fixlastline = & quot; true & quot; no funciona cuando se utilizan ciertos lectores de filtro. Informe Bugzilla 54672
- varios lugares donde los recursos se leen de los tarros ahora deshabilitarán explícitamente el almacenamiento en caché para evitar problemas con la recarga de tarros. Informe Bugzilla 54473
- AntClassloader ignorará ahora los archivos que forman parte de la ruta de clase, pero no los archivos zip al escanear recursos. Solía lanzar una excepción. Informe Bugzilla 53964
- provocó una excepción NullPointerException cuando no se estableció destdir. Informe Bugzilla 55949
- todavía incluiría la sección principal de los manifiestos del conjunto de archivos si no hubiese ningún manifiesto anidado o atributo de manifiesto. Informe Bugzilla 54171
- la lectura de args del compilador se ha vuelto más defensiva Informe Bugzilla 53754
- sin fuerza = & quot; verdadero & quot; no sólo no sobreescribir un archivo de sólo lectura como se espera sino también quitar el archivo existente. Informe Bugzilla 53095
- quitaría los enlaces simbólicos a los archivos no incluidos. Seguirá eliminando los enlaces simbólicos a los directorios que se hubieran seguido incluso si no se incluyen explícitamente. excluir-Patrones todavía se pueden utilizar para preservar enlaces simbólicos. Informe Bugzilla 53959
- A veces, las copias-operaciones que utilizan NIO FileChannels fallan. Ant ahora intentará utilizar una operación de copia basada en secuencia como fallback cuando falla la copia basada en el canal. Informes de Bugzilla 53102 y 54397
- Javadoc.postProcessGeneratedJavadocs () falla en las clases que extienden Javadoc Bugzilla Report 56047
- TarInputStream leerá ahora los archivos creados por implementaciones de tar que codifican grandes números al no agregar un NUL al final.
- el método isExists () de URLResource devolvió falsos positivos para HTTP y URL de FTP.
- Otros cambios:
- soporte inicial para Java 1.9
- opcionalmente puede pasar System.in al proceso remoto Bugzilla Report 55393
- ahora admite la captura de salida de error del proceso ejecutado y el establecimiento de una propiedad del código de retorno. Informe Bugzilla 48478
- ahora tiene una opción para fallar si javadoc emite advertencias. Informe Bugzilla 55015
- tiene un nuevo atributo outputencoding. Informe Bugzilla 39541
- cambia a JUnitTestRunner y PlainJUnitResultFormatter para hacer que OutOfMemoryErrors sea menos probable. Informe Bugzilla 45536
- cambia a DOMElementWriter para hacer que OutOfMemoryErrors sea menos probable. Informe Bugzilla 54147
- tiene un nuevo atributo binaryOutput que impide que Ant divida la salida en líneas. Esto evita que la salida binaria se corrompa, pero puede conducir a que el error y la salida normal se mezclen. Informe Bugzilla 55667 Informe Bugzilla 56156
- los elementos anidados de ahora tienen un atributo inputEncoding opcional que se puede utilizar para especificar la codificación de los archivos leídos que no utilizan la codificación por defecto de la plataforma. Informe Bugzilla 56258
- La tarea acepta y admite explícitamente la codificación de contenido gzip. Informe Bugzilla 49453
- Un nuevo tipo de recurso resourceclection actúa como una unión de s y s que comparten la misma configuración pero tienen diferentes directorios de base. Informe Bugzilla 48621
- tiene un atributo silencioso que hace que los errores del registro de tareas sólo estén activados. GitHub Pull Request # 1
- tiene ahora un atributo threads que permite ejecutar las pruebas en varios subprocesos. Informe Bugzilla 55925
- adición de una nueva clase ProcessUtil que proporciona el id de proceso del proceso actual
- cambia para permitir ejecutar los testcases JUnit de Ant en paralelo, haciendo que usen directorios temporales únicos
Qué es nuevo en la versión 1.9.3:
- Bugs corregidos:
- se tragó el código de estado de las tareas anidadas.
- una condición de carrera podría hacer que las tareas de compilaciones paralelas interfieran entre sí.
- aún no funcionaba correctamente cuando se usaba smtps.
- utilizando atributos pertenecientes a if ya menos que los espacios de nombres hicieron que macrodef fallara.
- Los cambios de tarea de Ant 1.8 exec han ralentizado exec en un rastreo
- Apt no está disponible en JDK 1.8
- Otros cambios:
- Documentación para los atributos if / less. PR 55359.
- Las entradas de tar con nombres de enlace largos ahora se manejan de la misma manera que las entradas con nombres largos.
- Adición del atributo 'skipNonTests' y tareas para permitir que las tareas salten clases que no contienen pruebas.
- ahora admite un anidado para especificar filtros.
- ahora se pueden escribir.
- construcción del instalador de Mac OS X pkg
Los parámetros de
Novedades en la versión 1.9.1:
- nuevo si ya menos que los espacios de nombres XML estén disponibles en todas las tareas y elementos anidados
- Las extensiones Zip64 están desactivadas de forma predeterminada
- Carga de dependencias externas fijadas en las tareas de JUnit
- Las hojas de estilo predeterminadas JUnitreport ahora son compatibles con JDK 1.7
- Recomendación de actualizar a jsch 0.1.50 para usuarios de las tareas ssh / scp bajo Java 1.7
- Otras correcciones y mejoras documentadas en WHATSNEW
- Esta es una versión de corrección de errores de seguridad que corrige un potencial vector de ataque de denegación de servicio en la tarea bzip2.
- Mejoras de rendimiento en la exploración de directorios.
- La tarea XSLT reconoce de nuevo el classpath (bugrep 49271).
- Se elimina la distinción entre tareas principales y tareas opcionales.
- Numerosas correcciones de errores y mejoras como se documenta en Bugzilla y en WHATSNEW.
- rendimiento.
- Se ha mejorado la compatibilidad con Java 6 y JavaFX es compatible con la tarea de script.
- Entorno de ejecución de Oracle Java Standard Edition
Lo nuevo en la versión 1.8.4:
Novedades en la versión 1.8.2:
Qué es nuevo en la versión 1.7.1:
Requisitos :
Comentarios que no se encuentran