Apache Ant est un logiciel de ligne de commande open-source entièrement gratuit, multiplate-forme et open-source implanté en Java, distribué avec le projet Apache, et conçu de manière optimale comme puissant système de compilation pour la compilation d'applications écrites dans le langage de programmation Java.
Semblable à GNU Make
Le logiciel Apache Ant, qui est un programme de ligne de commande, est assez similaire au compilateur open source GNU, mais il est connu d'avoir un meilleur support pour différents problèmes multiplate-formes avec le développement d'applications Java.
Le système de construction parfait pour de nombreux projets Java
En tant que projet Apache, le logiciel Apache Ant est le système de construction parfait pour de nombreux projets Java chez Apache, ainsi que de nombreux autres projets open source indépendants qui sont écrits dans le langage de programmation Java.
Démarrer avec Apache Ant
Que vous soyez un utilisateur final qui a besoin d'Apache Ant pour compiler les sources d'une application écrite en Java ou que vous êtes un développeur Java qui vous attend, vous pouvez facilement utiliser Apache Ant sur votre système d'exploitation de choix (voir la section ci-dessous pour les systèmes d'exploitation pris en charge).
Pour votre commodité, le logiciel est distribué en tant que binaire pré-construit qui peut être utilisé sur n'importe quel système d'exploitation GNU / Linux, les saveurs 32 et 64 bits sont prises en charge. Bien sûr, les utilisateurs avancés qui veulent optimiser l'installation peuvent également saisir le paquet source de Softoware.
Il suffit d'exécuter le & lsquo; ant & rsquo; commande dans un émulateur de terminal pour afficher le message d'utilisation et les options de ligne de commande disponibles. Notez que sur certaines distributions, Ant nécessite le logiciel OpenJDK.
Fonctionne sur GNU / Linux, Microsoft Windows et Mac OS X
Écrit en Java, Apache Ant est un logiciel multiplate-forme qui s'exécute sur n'importe quel système d'exploitation informatique où les technologies JRE (Java Runtime Environment) sont prises en charge, y compris toutes les distributions GNU / Linux, ainsi que les Mac OS X et Microsoft Windows OS.
Ce qui est nouveau dans cette version:
- Modifications qui pourraient briser les environnements plus anciens:
- l'attribut prefixValues n'a pas fonctionné comme prévu lorsqu'il est défini sur false (par défaut). Il est très probable que les fichiers de compilation existants reposent sur le mauvais comportement et attendent Ant pour résoudre le côté de la valeur par rapport aux propriétés définies dans le fichier de propriétés lui-même - ces fichiers de construction doivent maintenant définir explicitement l'attribut prefixValues sur true. Rapport Bugzilla 54769
- lors de l'appariement d'une entrée d'un zip / tarfileset contre un motif, une barre oblique sera exclue du nom de l'entrée. La plupart des archives ne contiennent aucun chemin avec des barreaux de tête de toute façon. Cela peut entraîner l'inclusion / l'exclusion de motifs qui commencent par un / pour arrêter de correspondre à quoi que ce soit. Ces modèles ne fonctionnaient que par accident et uniquement sur des plates-formes avec plusieurs racines de système de fichiers. Rapport Bugzilla 53949
- DirectoryScanner et donc fileet / dirset supprimeront silencieusement tous les objets du système de fichiers qui ne sont ni des fichiers ni des répertoires selon java.io.File. Cela empêche Ant de lire les pipes nommées, ce qui pourrait entraîner un blocage ou un autre comportement indéfini. Rapport Bugzilla 56149
- BuildFileTest et BaseSelectorTest ont tous deux été obsolètes en faveur de BuildFileRule et BaseSelectorRule respectivement, et les tests qui ont précédemment étendu ces tests de base ont été convertis en tests JUnit 4 en utilisant la nouvelle "règle" s. Tout test externe qui a sous-classé un test dans l'espace de travail Ant, plutôt que BuildFileTest, devra être changé pour utiliser les annotations de JUnit4 ou être modifié pour étendre BuildFileTest directement. Cela n'affectera aucun test exécuté par les tâches de jointure ou de lot de Ant qui ne testent pas spécifiquement le code de Ant.
- Problèmes corrigés:
- / a échoué lorsque le fichier d'importation a été chargé à partir d'un URI ou d'un pot et qu'il a importé un fichier du système de fichiers local via un chemin absolu. Rapport Bugzilla 50953
- peut importer deux fois la même ressource lors de l'importation via différents types de ressources. Rapport Bugzilla 55097
- plusieurs appels au fichier # mkdirs pourraient être victimes d'une condition de course où un autre thread a déjà créé le même répertoire. Rapport Bugzilla 55290
- a créé '/' plutôt que './' pour le répertoire parent du fichier jar donné. Rapport Bugzilla 55049
- 's fixlastline = & quot; true & quot; n'a pas fonctionné lors de l'utilisation de certains lecteurs de filtre. Rapport Bugzilla 54672
- plusieurs endroits où les ressources sont lues à partir de jars vont maintenant désactiver explicitement la mise en cache pour éviter les problèmes de rechargement des pots. Rapport Bugzilla 54473
- AntClassloader ignore maintenant les fichiers qui font partie du classpath mais pas les fichiers zip lors de la recherche de ressources. Il avait l'habitude de faire une exception. Rapport Bugzilla 53964
- a provoqué une NullPointerException lorsque aucun destdir n'a été défini. Rapport Bugzilla 55949
- contiendrait toujours la partie principale du manifeste du jeu de fichiers s'il n'y avait aucun attribut de manifeste ou manifeste imbriqué. Rapport Bugzilla 54171
- la lecture du compilateur args est devenue plus défensive Bugzilla Report 53754
- sans force = & quot; true & quot; ne serait pas seulement écraser un fichier en lecture seule comme prévu, mais aussi supprimer le fichier existant. Rapport Bugzilla 53095
- supprime les liens symboliques vers les fichiers non inclus. Il supprimera toujours les liens symboliques vers les répertoires qui auraient été suivis, même s'ils ne sont pas explicitement inclus. exclure-Les motifs peuvent encore être utilisés pour préserver les liens symboliques. Rapport Bugzilla 53959
- Parfois, les opérations de copie utilisant NIO FileChannels échouent. Ant essayera maintenant d'utiliser une opération de copie basée sur Stream en tant que ressource arrière lorsque la copie basée sur la chaîne échoue. Bugzilla Reports 53102 et 54397
- Javadoc.postProcessGeneratedJavadocs () échoue pour les classes qui étendent Javadoc Bugzilla Report 56047
- TarInputStream lira maintenant les archives créées par les implémentations tar qui codent les grands nombres en n'ajoutant pas un NUL en fuite.
- la méthode isExists () de URLResource a renvoyé des faux positifs pour les URL HTTP et FTP.
- Autres modifications:
- support initial pour Java 1.9
- peut éventuellement passer System.in au processus distant Bugzilla Report 55393
- prend maintenant en charge la capture de sortie d'erreur du processus exécuté et la définition d'une propriété à partir du code de retour. Rapport Bugzilla 48478
- a maintenant une option pour échouer si javadoc émet des avertissements. Rapport Bugzilla 55015
- a un nouvel attribut d'algorithme de sortie. Rapport Bugzilla 39541
- change à JUnitTestRunner et PlainJUnitResultFormatter pour rendre OutOfMemoryErrors moins probable. Rapport Bugzilla 45536
- change à DOMElementWriter pour rendre OutOfMemoryErrors moins probable. Rapport Bugzilla 54147
- a un nouvel attribut binaryOutput qui empêche Ant de diviser la sortie en lignes. Cela empêche que la sortie binaire ne soit corrompue mais peut entraîner une erreur et une sortie normale soit mélangée. Rapport Bugzilla 55667 Rapport Bugzilla 56156
- les éléments imbriqués d'maintenant possèdent un attribut entryEncoding facultatif qui peut être utilisé pour spécifier le codage des fichiers lus qui n'utilisent pas le codage par défaut de la plate-forme. Rapport Bugzilla 56258
- La tâche accepte et supporte explicitement le codage du contenu gzip. Rapport Bugzilla 49453
- Un nouveau type de resourcecollection agit comme une union de s et s qui partagent la même configuration mais ont différents répertoires de base. Rapport Bugzilla 48621
- possède un attribut silencieux qui rend les erreurs de journal des tâches uniquement lorsqu'elles sont activées. GitHub Pull Request # 1
- a maintenant un attribut thread permettant d'exécuter les tests dans plusieurs threads. Rapport Bugzilla 55925
- ajout d'une nouvelle classe ProcessUtil fournissant l'identifiant de processus du processus en cours
- permet de lancer les tests JUnit de Ant en parallèle, en les faisant utiliser des répertoires temporaires uniques
Ce qui est nouveau dans la version 1.9.4:
- Modifications qui pourraient briser les environnements plus anciens:
- l'attribut prefixValues n'a pas fonctionné comme prévu lorsqu'il est défini sur false (par défaut). Il est très probable que les fichiers de compilation existants reposent sur le mauvais comportement et attendent Ant pour résoudre le côté de la valeur par rapport aux propriétés définies dans le fichier de propriétés lui-même - ces fichiers de construction doivent maintenant définir explicitement l'attribut prefixValues sur true. Rapport Bugzilla 54769
- lors de l'appariement d'une entrée d'un zip / tarfileset contre un motif, une barre oblique sera exclue du nom de l'entrée. La plupart des archives ne contiennent aucun chemin avec des barreaux de tête de toute façon. Cela peut entraîner l'inclusion / l'exclusion de motifs qui commencent par un / pour arrêter de correspondre à quoi que ce soit. Ces modèles ne fonctionnaient que par accident et uniquement sur des plates-formes avec plusieurs racines de système de fichiers. Rapport Bugzilla 53949
- DirectoryScanner et donc fileet / dirset supprimeront silencieusement tous les objets du système de fichiers qui ne sont ni des fichiers ni des répertoires selon java.io.File. Cela empêche Ant de lire les pipes nommées, ce qui pourrait entraîner un blocage ou un autre comportement indéfini. Rapport Bugzilla 56149
- BuildFileTest et BaseSelectorTest ont tous deux été obsolètes en faveur de BuildFileRule et BaseSelectorRule respectivement, et les tests qui ont précédemment étendu ces tests de base ont été convertis en tests JUnit 4 en utilisant la nouvelle "règle" s. Tout test externe qui a sous-classé un test dans l'espace de travail Ant, plutôt que BuildFileTest, devra être changé pour utiliser les annotations de JUnit4 ou être modifié pour étendre BuildFileTest directement. Cela n'affectera aucun test exécuté par les tâches de jointure ou de lot de Ant qui ne testent pas spécifiquement le code de Ant.
- Problèmes corrigés:
- / a échoué lorsque le fichier d'importation a été chargé à partir d'un URI ou d'un pot et qu'il a importé un fichier du système de fichiers local via un chemin absolu. Rapport Bugzilla 50953
- peut importer deux fois la même ressource lors de l'importation via différents types de ressources. Rapport Bugzilla 55097
- plusieurs appels au fichier # mkdirs pourraient être victimes d'une condition de course où un autre thread a déjà créé le même répertoire. Rapport Bugzilla 55290
- a créé '/' plutôt que './' pour le répertoire parent du fichier jar donné. Rapport Bugzilla 55049
- 's fixlastline = & quot; true & quot; n'a pas fonctionné lors de l'utilisation de certains lecteurs de filtre. Rapport Bugzilla 54672
- plusieurs endroits où les ressources sont lues à partir de jars vont maintenant désactiver explicitement la mise en cache pour éviter les problèmes de rechargement des pots. Rapport Bugzilla 54473
- AntClassloader ignore maintenant les fichiers qui font partie du classpath mais pas les fichiers zip lors de la recherche de ressources. Il avait l'habitude de faire une exception. Rapport Bugzilla 53964
- a provoqué une NullPointerException lorsque aucun destdir n'a été défini. Rapport Bugzilla 55949
- contiendrait toujours la partie principale du manifeste du jeu de fichiers s'il n'y avait aucun attribut de manifeste ou manifeste imbriqué. Rapport Bugzilla 54171
- la lecture du compilateur args est devenue plus défensive Bugzilla Report 53754
- sans force = & quot; true & quot; ne serait pas seulement écraser un fichier en lecture seule comme prévu, mais aussi supprimer le fichier existant. Rapport Bugzilla 53095
- supprime les liens symboliques vers les fichiers non inclus. Il supprimera toujours les liens symboliques vers les répertoires qui auraient été suivis, même s'ils ne sont pas explicitement inclus. exclure-Les motifs peuvent encore être utilisés pour préserver les liens symboliques. Rapport Bugzilla 53959
- Parfois, les opérations de copie utilisant NIO FileChannels échouent. Ant essayera maintenant d'utiliser une opération de copie basée sur Stream en tant que ressource arrière lorsque la copie basée sur la chaîne échoue. Bugzilla Reports 53102 et 54397
- Javadoc.postProcessGeneratedJavadocs () échoue pour les classes qui étendent Javadoc Bugzilla Report 56047
- TarInputStream lira maintenant les archives créées par les implémentations tar qui codent les grands nombres en n'ajoutant pas un NUL en fuite.
- la méthode isExists () de URLResource a renvoyé des faux positifs pour les URL HTTP et FTP.
- Autres modifications:
- support initial pour Java 1.9
- peut éventuellement passer System.in au processus distant Bugzilla Report 55393
- prend maintenant en charge la capture de sortie d'erreur du processus exécuté et la définition d'une propriété à partir du code de retour. Rapport Bugzilla 48478
- a maintenant une option pour échouer si javadoc émet des avertissements. Rapport Bugzilla 55015
- a un nouvel attribut d'algorithme de sortie. Rapport Bugzilla 39541
- change à JUnitTestRunner et PlainJUnitResultFormatter pour rendre OutOfMemoryErrors moins probable. Rapport Bugzilla 45536
- change à DOMElementWriter pour rendre OutOfMemoryErrors moins probable. Rapport Bugzilla 54147
- a un nouvel attribut binaryOutput qui empêche Ant de diviser la sortie en lignes. Cela empêche que la sortie binaire ne soit corrompue mais peut entraîner une erreur et une sortie normale soit mélangée. Rapport Bugzilla 55667 Rapport Bugzilla 56156
- les éléments imbriqués d'maintenant possèdent un attribut entryEncoding facultatif qui peut être utilisé pour spécifier le codage des fichiers lus qui n'utilisent pas le codage par défaut de la plate-forme. Rapport Bugzilla 56258
- La tâche accepte et supporte explicitement le codage du contenu gzip. Rapport Bugzilla 49453
- Un nouveau type de resourcecollection agit comme une union de s et s qui partagent la même configuration mais ont différents répertoires de base. Rapport Bugzilla 48621
- possède un attribut silencieux qui rend les erreurs de journal des tâches uniquement lorsqu'elles sont activées. GitHub Pull Request # 1
- a maintenant un attribut thread permettant d'exécuter les tests dans plusieurs threads. Rapport Bugzilla 55925
- ajout d'une nouvelle classe ProcessUtil fournissant l'identifiant de processus du processus en cours
- permet de lancer les tests JUnit de Ant en parallèle, en les faisant utiliser des répertoires temporaires uniques
Ce qui est nouveau dans la version 1.9.3:
- Correction de bugs:
- a avalé le code d'état des tâches imbriquées.
- une condition de course pourrait rendre les tâches de construction parallèles pour interférer les unes avec les autres.
- n'a toujours pas fonctionné correctement lors de l'utilisation de smtps.
- en utilisant les attributs appartenant au if et à moins que les espaces de noms ne produisent un échec de macrodef.
- Les modifications apportées à la tâche Ant de l'Ant 1.8 ont ralenti l'exécution d'une exploration
- Apt n'est pas disponible sous JDK 1.8
- Autres modifications:
- Correction de la documentation pour si / sauf attributs. PR 55359.
- les entrées tar avec les noms de liens longs sont maintenant traitées de la même manière que les entrées avec des noms longs.
- Ajout de l'attribut "skipNonTests" et des tâches permettant aux tâches de sauter des classes qui ne contiennent pas de tests.
- prend désormais en charge un code imbriqué pour spécifier des filtres.
- peuvent maintenant être tapés.
- construction de Mac OS X pkg installer
Le mailport de
Les paramètres de
Ce qui est nouveau dans la version 1.9.1:
- nouveau si et à moins que les espaces de noms XML disponibles sur toutes les tâches et éléments imbriqués
- Les extensions Zip64 sont désactivées par défaut
- Chargement des dépendances externes réparées dans les tâches JUnit
- Les feuilles de style par défaut de JUnitreport sont maintenant compatibles avec JDK 1.7
- Recommander la mise à niveau vers jsch 0.1.50 pour les utilisateurs des tâches ssh / scp sous Java 1.7
- Autres correctifs et améliorations documentés dans WHATSNEW
Ce qui est nouveau dans la version 1.8.4:
- Il s'agit d'une version de bugfix de sécurité qui corrige un potentiel vecteur d'attaque de déni de service dans la tâche bzip2.
Ce qui est nouveau dans la version 1.8.2:
- Amélioration des performances dans l'analyse de répertoire.
- La tâche XSLT renvoie le classpath à nouveau (bugrep 49271).
- La distinction entre les tâches principales et les tâches facultatives est supprimée.
- Nombreuses corrections de bugs et améliorations telles que documentées dans Bugzilla et dans WHATSNEW.
Ce qui est nouveau dans la version 1.7.1:
- L'accent sur la libération principale concerne la correction des problèmes et l'amélioration performance.
- Le support Java 6 a été amélioré et JavaFX est pris en charge par la tâche de script.
Exigences :
- Oracle Java Standard Edition Runtime Environment
Commentaires non trouvées