Apache Ant ist eine völlig freie, plattformübergreifende und Open-Source-Befehlszeilen-Software, die in Java implementiert ist und zusammen mit dem Apache-Projekt verteilt wird und von Grund auf als leistungsstark gestaltet wurde Build-System für die Erstellung von Anwendungen in der Java-Programmiersprache geschrieben.
Ähnlich wie GNU machen
Die Apache Ant Software, die ein Kommandozeilenprogramm ist, ähnelt dem Open-Source-GNU-Compiler, aber es ist bekannt, dass sie bei der Entwicklung von Java-Anwendungen viel bessere Unterstützung für verschiedene plattformübergreifende Probleme haben wird.
Das perfekte Build-System für viele Java-Projekte
Als Apache-Projekt ist die Apache Ant-Software das perfekte Build-System für viele Java-Projekte bei Apache sowie zahlreiche weitere unabhängige Open-Source-Projekte, die in der Java-Programmiersprache geschrieben sind.
Erste Schritte mit Apache Ant
Ob ein & ldquor; ein Endbenutzer, der Apache Ant benötigt, um die Quellen einer in Java geschriebenen Anwendung zu kompilieren, oder einen anspruchsvollen Java-Entwickler, können Sie einfach die Apache Ant auf Ihrem Betriebssystem der Wahl verwenden (siehe der untenstehende Abschnitt für unterstützte Betriebssysteme).
Für Ihre Bequemlichkeit wird die Software als vordefinierte Binärdatei verteilt, die auf jedem GNU / Linux-Betriebssystem verwendet werden kann. Es werden 32 und 64-Bit-Aromen unterstützt. Natürlich können fortgeschrittene Benutzer, die die Installation optimieren möchten, auch das Quellpaket von Softoware packen.
Führen Sie einfach das u. lsquo; Ant & rsquo; Befehl in einem Terminal-Emulator, um die Benutzungsnachricht und die verfügbaren Befehlszeilenoptionen anzuzeigen. Bitte beachten Sie, dass bei einigen Distributionen Ant die OpenJDK Software benötigt.
Läuft auf GNU / Linux, Microsoft Windows und Mac OS X
Apache Ant ist eine plattformübergreifende Software, die auf jedem Computerbetriebssystem läuft, in dem die JRE (Java Runtime Environment) Technologien unterstützt werden, einschließlich aller GNU / Linux Distributionen sowie Mac OS X und Microsoft Windows-Betriebssysteme
Was ist neu in dieser Version:
- Änderungen, die ältere Umgebungen brechen könnten:
- das PräfixValues-Attribut von arbeitete nicht wie erwartet, wenn auf false gesetzt (die Voreinstellung). Es ist sehr wahrscheinlich vorhandene Build-Dateien, die auf das falsche Verhalten angewiesen sind und erwarten, dass Ant die Wert-Seite gegen die in der Eigenschaftsdatei selbst definierten Eigenschaften auflöst. Diese Build-Dateien müssen nun explizit das Attribut prefixValues auf true setzen. Bugzilla-Bericht 54769
- bei der Übereinstimmung eines Eintrags eines Zip / Tarfilesets gegen ein Muster wird ein führender Schrägstrich vom Eintragnamen entfernt. Die meisten Archive enthalten keine Pfade mit führenden Schrägstrichen sowieso. Dies kann dazu führen, dass Sie / ausschließen Muster, die mit einem / aufhören, um etwas zu stoppen. Solche Muster nur verwendet, um durch Unfall und nur auf Plattformen mit mehreren Dateisystem Wurzeln zu arbeiten. Bugzilla Bericht 53949
- DirectoryScanner und damit Dateisatz / Dirset werden nun alle Dateisystemobjekte, die weder Dateien noch Verzeichnisse sind, nach java.io.File stillschweigend gelöscht. Dies verhindert, dass Ameise aus genannte Pfeifen liest, die zu einer Blockierung oder einem anderen undefinierten Verhalten führen könnten. Bugzilla-Bericht 56149
- BuildFileTest und BaseSelectorTest wurden beide zugunsten von BuildFileRule bzw. BaseSelectorRule veraltet, und die Tests, die zuvor diese Basistests erweitert haben, wurden mit den neuen & ldquor; Regel "in JUnit 4 getestet. Jeder externe Test, der einen Test im Ant-Arbeitsbereich anstelle von BuildFileTest unterteilt hat, muss geändert werden, um entweder die Anmerkungen von JUnit4 zu verwenden oder modifiziert zu werden, um BuildFileTest direkt zu erweitern. Dies wirkt sich nicht auf irgendwelche Tests aus, die von Ant's junit oder batchtest Aufgaben ausgeführt werden, die nicht spezifisch den Ant-Code tippen.
- Fehler behoben:
- / fehlgeschlagen, wenn die importierende Datei aus einem URI oder einem Jar geladen wurde und eine Datei aus dem lokalen Dateisystem über einen absoluten Pfad importiert hat. Bugzilla-Bericht 50953
- könnte dieselbe Ressource zweimal importieren, wenn sie über verschiedene Ressourcentypen importiert wird. Bugzilla-Bericht 55097
- mehrere Anrufe zu File # mkdirs könnten Opfer einer Race-Bedingung werden, wo ein weiterer Thread bereits das gleiche Verzeichnis erstellt hat. Bugzilla-Bericht 55290
- erstellt '/' anstatt './' für das übergeordnete Verzeichnis des angegebenen Jarfiles. Bugzilla-Bericht 55049
- 's fixlastline = & ldquor; wahr " funktionierte nicht bei der Verwendung bestimmter Filterleser. Bugzilla-Bericht 54672
- mehrere Orte, an denen Ressourcen aus Gläsern gelesen werden, deaktivieren nun das Caching explizit, um Probleme beim Nachladen von Gläsern zu vermeiden. Bugzilla-Bericht 54473
- AntClassloader ignoriert nun Dateien, die Teil des Klassenpfads sind, aber keine Zip-Dateien beim Scannen nach Ressourcen. Es hat eine Ausnahme ausgelöst. Bugzilla Bericht 53964
- verursachte eine NullPointerException, wenn kein destdir gesetzt wurde. Bugzilla-Bericht 55949
- würde immer noch den Hauptteil der Dateigruppe manifestieren, wenn es kein verschachteltes Manifest oder Manifest-Attribut gab. Bugzilla-Bericht 54171
- Lesen von Compiler Args ist mehr defensiv geworden Bugzilla Report 53754
- ohne Kraft = "wahr" würde nicht nur eine schreibgeschützte Datei wie erwartet überschreiben, sondern auch die vorhandene Datei entfernen. Bugzilla-Bericht 53095
- würde symbolische Links zu nicht enthaltenen Dateien entfernen. Es wird immer noch Symlinks zu Verzeichnissen löschen, die gefolgt wären, auch wenn sie nicht explizit eingeschlossen sind. Ausschluss-Patterns können noch verwendet werden, um symbolische Links zu erhalten. Bugzilla Bericht 53959
- Manchmal kopieren Kopien mit NIO FileChannels. Ameise wird nun versuchen, einen Stream-basierten Kopiervorgang als Fallback zu verwenden, wenn die kanalbasierte Kopie fehlschlägt. Bugzilla Berichte 53102 und 54397
- Javadoc.postProcessGeneratedJavadocs () scheitert an Klassen, die den Javadoc Bugzilla Report 56047 verlängern
- TarInputStream liest nun Archive, die von tar-Implementierungen erstellt wurden, die große Zahlen kodieren, indem sie keine nachlaufenden NULs hinzufügen.
- die isExists () - Methode von URLResource hat falsche Positives für HTTP- und FTP-URLs zurückgegeben.
- Weitere Änderungen:
- erste Unterstützung für Java 1.9
- kann optional System.in an den Remote-Prozess Bugzilla Report 55393 übergeben
- unterstützt nun die Erfassung der Fehlerausgabe des ausgeführten Prozesses und die Einstellung einer Eigenschaft aus dem Returncode. Bugzilla-Bericht 48478
- hat nun die Möglichkeit zu scheitern, wenn javadoc Warnungen ausgibt. Bugzilla-Bericht 55015
- hat ein neues outputencoding-Attribut. Bugzilla-Bericht 39541
- wechselt zu JUnitTestRunner und PlainJUnitResultFormatter, um OutOfMemoryErrors weniger wahrscheinlich zu machen. Bugzilla-Bericht 45536
- ändert sich zu DOMElementWriter, um OutOfMemoryErrors weniger wahrscheinlich zu machen. Bugzilla-Bericht 54147
- hat ein neues Attribut binaryOutput, das verhindert, dass Ant die Ausgabe in Zeilen aufteilt. Dies verhindert, dass die Binärausgabe beschädigt wird, aber zu Fehlern führen kann und die normale Ausgabe verwechselt wird. Bugzilla-Bericht 55667 Bugzilla-Bericht 56156
- Die verschachtelten Elemente haben nun ein optionales inputEncoding-Attribut, mit dem die Verschlüsselung von Dateien gelesen werden kann, die die Standardcodierung der Plattform nicht verwenden. Bugzilla Bericht 56258
- Die Aufgabe nimmt nun explizit die gzip-Content-Codierung an und unterstützt sie. Bugzilla Bericht 49453
- Ein neuer Resourcecollection-Typ wirkt wie eine Vereinigung von s und s, die dieselbe Konfiguration haben, aber unterschiedliche Basisverzeichnisse haben. Bugzilla-Bericht 48621
- hat ein leises Attribut, das die Task-Log-Fehler nur bei Aktivierung macht. GitHub Pull Request # 1
- hat nun ein Fadenattribut, das es erlaubt, die Tests in mehreren Threads auszuführen. Bugzilla-Bericht 55925
- Hinzufügen einer neuen ProcessUtil-Klasse, die die Prozess-ID des aktuellen Prozesses bereitstellt
- ändert sich, um die JUnit-Testcases von Ant parallel zu führen, indem sie sie mit eindeutigen temporären Verzeichnissen verwenden.
Was ist neu in Version 1.9.4:
- Änderungen, die ältere Umgebungen brechen könnten:
- das PräfixValues-Attribut von arbeitete nicht wie erwartet, wenn auf false gesetzt (die Voreinstellung). Es ist sehr wahrscheinlich vorhandene Build-Dateien, die auf das falsche Verhalten angewiesen sind und erwarten, dass Ant die Wert-Seite gegen die in der Eigenschaftsdatei selbst definierten Eigenschaften auflöst. Diese Build-Dateien müssen nun explizit das Attribut prefixValues auf true setzen. Bugzilla-Bericht 54769
- bei der Übereinstimmung eines Eintrags eines Zip / Tarfilesets gegen ein Muster wird ein führender Schrägstrich vom Eintragnamen entfernt. Die meisten Archive enthalten keine Pfade mit führenden Schrägstrichen sowieso. Dies kann dazu führen, dass Sie / ausschließen Muster, die mit einem / aufhören, um etwas zu stoppen. Solche Muster nur verwendet, um durch Unfall und nur auf Plattformen mit mehreren Dateisystem Wurzeln zu arbeiten. Bugzilla Bericht 53949
- DirectoryScanner und damit Dateisatz / Dirset werden nun alle Dateisystemobjekte, die weder Dateien noch Verzeichnisse sind, nach java.io.File stillschweigend gelöscht. Dies verhindert, dass Ameise aus genannte Pfeifen liest, die zu einer Blockierung oder einem anderen undefinierten Verhalten führen könnten. Bugzilla-Bericht 56149
- BuildFileTest und BaseSelectorTest wurden beide zugunsten von BuildFileRule bzw. BaseSelectorRule veraltet, und die Tests, die zuvor diese Basistests erweitert haben, wurden mit den neuen & ldquor; Regel "in JUnit 4 getestet. Jeder externe Test, der einen Test im Ant-Arbeitsbereich anstelle von BuildFileTest unterteilt hat, muss geändert werden, um entweder die Anmerkungen von JUnit4 zu verwenden oder modifiziert zu werden, um BuildFileTest direkt zu erweitern. Dies wirkt sich nicht auf irgendwelche Tests aus, die von Ant's junit oder batchtest Aufgaben ausgeführt werden, die nicht spezifisch den Ant-Code tippen.
- Fehler behoben:
- / fehlgeschlagen, wenn die importierende Datei aus einem URI oder einem Jar geladen wurde und eine Datei aus dem lokalen Dateisystem über einen absoluten Pfad importiert hat. Bugzilla-Bericht 50953
- könnte dieselbe Ressource zweimal importieren, wenn sie über verschiedene Ressourcentypen importiert wird. Bugzilla-Bericht 55097
- mehrere Anrufe zu File # mkdirs könnten Opfer einer Race-Bedingung werden, wo ein weiterer Thread bereits das gleiche Verzeichnis erstellt hat. Bugzilla-Bericht 55290
- erstellt '/' anstatt './' für das übergeordnete Verzeichnis des angegebenen Jarfiles. Bugzilla-Bericht 55049
- 's fixlastline = & ldquor; wahr " funktionierte nicht bei der Verwendung bestimmter Filterleser. Bugzilla-Bericht 54672
- mehrere Orte, an denen Ressourcen aus Gläsern gelesen werden, deaktivieren nun das Caching explizit, um Probleme beim Nachladen von Gläsern zu vermeiden. Bugzilla-Bericht 54473
- AntClassloader ignoriert nun Dateien, die Teil des Klassenpfads sind, aber keine Zip-Dateien beim Scannen nach Ressourcen. Es hat eine Ausnahme ausgelöst. Bugzilla Bericht 53964
- verursachte eine NullPointerException, wenn kein destdir gesetzt wurde. Bugzilla-Bericht 55949
- würde immer noch den Hauptteil der Dateigruppe manifestieren, wenn es kein verschachteltes Manifest oder Manifest-Attribut gab. Bugzilla-Bericht 54171
- Lesen von Compiler Args ist mehr defensiv geworden Bugzilla Report 53754
- ohne Kraft = "wahr" würde nicht nur eine schreibgeschützte Datei wie erwartet überschreiben, sondern auch die vorhandene Datei entfernen. Bugzilla-Bericht 53095
- würde symbolische Links zu nicht enthaltenen Dateien entfernen. Es wird immer noch Symlinks zu Verzeichnissen löschen, die gefolgt wären, auch wenn sie nicht explizit eingeschlossen sind. Ausschluss-Patterns können noch verwendet werden, um symbolische Links zu erhalten. Bugzilla Bericht 53959
- Manchmal kopieren Kopien mit NIO FileChannels. Ameise wird nun versuchen, einen Stream-basierten Kopiervorgang als Fallback zu verwenden, wenn die kanalbasierte Kopie fehlschlägt. Bugzilla Berichte 53102 und 54397
- Javadoc.postProcessGeneratedJavadocs () scheitert an Klassen, die den Javadoc Bugzilla Report 56047 verlängern
- TarInputStream liest nun Archive, die von tar-Implementierungen erstellt wurden, die große Zahlen kodieren, indem sie keine nachlaufenden NULs hinzufügen.
- die isExists () - Methode von URLResource hat falsche Positives für HTTP- und FTP-URLs zurückgegeben.
- Weitere Änderungen:
- erste Unterstützung für Java 1.9
- kann optional System.in an den Remote-Prozess Bugzilla Report 55393 übergeben
- unterstützt nun die Erfassung der Fehlerausgabe des ausgeführten Prozesses und die Einstellung einer Eigenschaft aus dem Returncode. Bugzilla-Bericht 48478
- hat nun die Möglichkeit zu scheitern, wenn javadoc Warnungen ausgibt. Bugzilla-Bericht 55015
- hat ein neues outputencoding-Attribut. Bugzilla-Bericht 39541
- wechselt zu JUnitTestRunner und PlainJUnitResultFormatter, um OutOfMemoryErrors weniger wahrscheinlich zu machen. Bugzilla-Bericht 45536
- ändert sich zu DOMElementWriter, um OutOfMemoryErrors weniger wahrscheinlich zu machen. Bugzilla-Bericht 54147
- hat ein neues Attribut binaryOutput, das verhindert, dass Ant die Ausgabe in Zeilen aufteilt. Dies verhindert, dass die Binärausgabe beschädigt wird, aber zu Fehlern führen kann und die normale Ausgabe verwechselt wird. Bugzilla-Bericht 55667 Bugzilla-Bericht 56156
- Die verschachtelten Elemente haben nun ein optionales inputEncoding-Attribut, mit dem die Verschlüsselung von Dateien gelesen werden kann, die die Standardcodierung der Plattform nicht verwenden. Bugzilla Bericht 56258
- Die Aufgabe nimmt nun explizit die gzip-Content-Codierung an und unterstützt sie. Bugzilla Bericht 49453
- Ein neuer Resourcecollection-Typ wirkt wie eine Vereinigung von s und s, die dieselbe Konfiguration haben, aber unterschiedliche Basisverzeichnisse haben. Bugzilla-Bericht 48621
- hat ein leises Attribut, das die Task-Log-Fehler nur bei Aktivierung macht. GitHub Pull Request # 1
- hat nun ein Fadenattribut, das es erlaubt, die Tests in mehreren Threads auszuführen. Bugzilla-Bericht 55925
- Hinzufügen einer neuen ProcessUtil-Klasse, die die Prozess-ID des aktuellen Prozesses bereitstellt
- ändert sich, um die JUnit-Testcases von Ant parallel zu führen, indem sie sie mit eindeutigen temporären Verzeichnissen verwenden.
Was ist neu in Version 1.9.3:
- Fehler behoben:
- verschluckt den Statuscode der verschachtelten Aufgaben.
- eine Racebedingung könnte Aufgaben von parallelen Bauten machen, um sich gegenseitig zu stören.
- 's Mailport funktionierte bei der Verwendung von smtps noch nicht richtig.
- unter Verwendung von Attributen, die zu dem if gehören, und wenn Namespaces Makrodef fehlschlagen.
- Ant 1.8 exec-Task-Änderungen haben sich zu einem Crawling verlangsamt
- Apt ist unter JDK 1.8 nicht verfügbar
- Weitere Änderungen:
- Dokumentationsfix für if / except Attribute. PR 55359.
- Teereinträge mit langen Linknamen werden nun genauso behandelt wie Einträge mit langen Namen.
- Hinzufügen von 'skipNonTests' Attribut zu und Aufgaben, damit die Aufgaben Klassen überspringen können, die keine Tests enthalten.
- unterstützt nun eine Verschachtelung, um Filter anzugeben.
- 's params können nun eingegeben werden.
- bauen von Mac OS X pkg Installer
Was ist neu in Version 1.9.1:
- neu, wenn und ob XML-Namespaces auf allen Tasks und verschachtelten Elementen verfügbar sind
- Zip64-Erweiterungen sind standardmäßig deaktiviert
- Laden von externen Abhängigkeiten, die in JUnit-Aufgaben festgelegt sind
- JUnitreport Standard-Stylesheets jetzt kompatibel mit JDK 1.7
- Weiterlesen auf jsch 0.1.50 für Benutzer der ssh / scp-Aufgaben unter Java 1.7
- Andere Korrekturen und Verbesserungen, die in WHATSNEW dokumentiert sind
Was ist neu in Version 1.8.4:
- Dies ist eine Sicherheits-Bugfix-Version, die ein Potenzial behebt Denial-of-Service-Angriffsvektor in der bzip2-Aufgabe.
Was ist neu in Version 1.8.2:
- Leistungsverbesserungen beim Verzeichnis-Scannen
- Die XSLT-Aufgabe ehrt den Klassenpfad wieder (bugrep 49271).
- Die Unterscheidung zwischen Kernaufgaben und optionalen Aufgaben wird abgeschafft.
- Zahlreiche Bugfixes und Verbesserungen, wie in Bugzilla und in WHATSNEW dokumentiert.
Was ist neu in Version 1.7.1:
- Der Haupt-Release-Fokus liegt auf der Fehlerbehebung und der Verbesserung Leistung.
- Java 6-Unterstützung wurde erweitert und JavaFX wird von der Skriptaufgabe unterstützt.
Voraussetzungen :
- Oracle Java Standard Edition Runtime Environment
Kommentare nicht gefunden