[JAVA] [Für Super-Anfänger] Ameise Super-Einführung

Einführung

Dieses Mal möchte ich Ant vorstellen. Mein Artikel ist im Grunde ein Memorandum. Bitte verzeihen Sie mir, wenn es sich nicht um die Ameiseninformationen handelt, nach denen ich gesucht habe.

Ant ist ein Build-Tool, aber heutzutage kommen viele High-Tech-Build-Tools wie Maven und Gradle heraus, sodass manche Leute vielleicht denken "was für ein Vermächtnis ...", aber schließlich Es gibt Zeiten, in denen Sie ohne Ant nicht helfen können.

Es gibt verschiedene Fälle, z. B. die Möglichkeit, keine Umgebung zum Ausführen von Maven zu erstellen, keine Verbindung zu einem Netzwerk herzustellen und ein lokales Repository zu erstellen. Was ich verstecken sollte Vor kurzem bin ich selbst auf einen solchen Fall gestoßen und habe die Umgebung neu erstellt, die mit Maven wie Ant gebaut wurde.

In diesem Artikel werde ich daher vorstellen, wie eine Jar-Datei erstellt wird, die nur mit reinem Java funktioniert, anstatt eine War-Datei für ein Webprojekt zu erstellen, was eine typische Verwendung von Ant ist.

1. Was ist Ant?

Was ist Ant? Die Antwort ist ein Tool zum Erstellen von Java-Programmen. Wie Sie im Titel dieses Artikels sehen können, denken Sie als Super-Anfänger vielleicht, dass "Eclipse den Build für Sie erledigt".

Korrekt. Korrekt. Selbst wenn Sie keine Tools zum Erstellen verwenden, können Sie sofort eine Jar-Datei erstellen, indem Sie sie nach Eclipse exportieren.

Es ist jedoch nicht immer möglich, Eclipse zu haben und darauf aufzubauen. In einem solchen Fall ist es erforderlich, ohne Abhängigkeit von einer integrierten Entwicklungsumgebung wie Eclipse erstellen zu können. Wenn Sie ein Tool verwenden, können Sie das Tool mehr als nur ein Java-Programm erstellen lassen, um Aufwand und Fehler zu reduzieren.

Dieses Mal möchte ich Ant Folgendes tun lassen.

  1. Erstellen Sie ein Java-Programm und eine Jar-Datei
  2. Kopieren Sie Ressourcen wie abhängige Bibliotheken und Konfigurationsdateien in das angegebene Verzeichnis
  3. Kombinieren Sie 1 und 2 und komprimieren Sie sie im Zip-Format

Im nächsten Abschnitt werde ich dann vorstellen, wie Ant beim Erstellen eines Projekts verwendet wird.

2. Erstellen Sie ein Projekt

Erstellen Sie zunächst das Projekt, das Sie mit Ant erstellen möchten. Lassen Sie uns noch einmal eine traditionelle Hallo-Welt in der Welt der Systementwicklung aufbauen und sie als Beispiel nehmen. Die Entwicklungsumgebung, mit der ich in meinem Artikel vertraut bin, verwendet Eclipse.

2.1. Erstellen eines neuen Java-Projekts

Erstellen Sie zunächst ein neues Java-Projekt in Eclipse. In meiner Umgebung verwende ich Eclipse 4.4 Luna.

Ich habe nur eine Quelldatei, und dieses Mal möchte ich eine Bibliothek mit Abhängigkeiten und eine Konfigurationsdatei, daher verwende ich Logback als Protokollierungsbibliothek. Der Baum des neu erstellten Projekts sieht folgendermaßen aus: Der Projektname lautet HelloWorldAnt und die Ausführungsumgebung lautet jdk1.8.

■ Projektroute ├─src │ └─main │ Main.java ├─Ressourcen * Als src-Ordner hinzugefügt │ logback.xml └lib * Als normaler Ordner hinzugefügt logback-classic-1.2.3.jar logback-core-1.2.3.jar slf4j-api-1.7.25.jar build.xml

Aus den Standardprojekteinstellungen wurden zwei Ordner hinzugefügt. Der Ressourcenordner, in dem sich logback.xml befindet, und der lib-Ordner, in dem sich die verwendeten Bibliotheken befinden. Ich möchte den Ressourcenordner zur Laufzeit als Klassenpfad übergeben, daher definiere ich ihn als src-Ordner, und der lib-Ordner ist nur ein Ort für Bibliotheken, daher füge ich ihn als normalen Ordner hinzu. Die Bibliotheken im Ordner lib werden dem Erstellungspfad des Projekts hinzugefügt.

Außerdem wird build.xml, die die Build-Einstellungen von Ant beschreibt, direkt unter dem Projekt platziert.

Als Bonus werde ich auch die Einstellungen von logback.xml beschreiben.

■logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>

<! - Appender für Konsolenausgabe-> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

<! - Appender für Protokolldateien-> <! - Dateien wechseln täglich-> logs/log%d{yyyy-MM-dd}.log 3 <! - Dateiausgabeformat-> %d{yyyy-MM-dd'T'HH:mm:ss'Z'} - %m%n

<! - Logger Definition->

Es ist nicht direkt verwandt, aber ich füge es für Protokolldateien hinzu, die täglich rotieren.

2.2 Implementierung der Verarbeitung

Nachdem Sie Ihr Projekt eingerichtet haben, implementieren wir die eigentliche Verarbeitung. Selbst wenn es heißt, es zu implementieren, ist es nur eine Hello World, außer dass Locback verwendet wird, daher ist es nicht besonders schwierig.

■ Implementierungsinhalt von main.java package main;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**

logger.info ("Hallo Welt bei Ant !!");

logger.info ("Ende der Verarbeitung"); } }

2.3 Ausführen von Hello World Bisher haben Sie ein Projekt für Ant erstellt. Probieren wir es aus. Bitte führen Sie es als Java-Anwendung auf Eclipse aus.

Natürlich werde ich Hello World lol anzeigen Ich möchte die Ergebnisse vergleichen, wenn ich das später mit Ant erstellte Modul ausführe, damit ich den Inhalt beschreiben kann, den ich ausgeführt und angezeigt habe.

■ Inhalt der Konsolenanzeige 21: 36: 08.032 [main] INFO main.Main - Verarbeitungsstart 21: 36: 08.035 [main] INFO main.Main - Hallo Welt bei Ant !! 21: 36: 08.036 [main] INFO main.Main - Ende der Verarbeitung

3. Implementierung von Ant Build

Nachdem Sie bestätigt haben, dass das von Ihnen erstellte Projekt fehlerfrei funktioniert, fahren wir mit dem Verfahren zum Erstellen einer JAR-Datei mit Ant fort.

3.1. Definition von build.xml

Definieren Sie zunächst das Build-Skript in build.xml im Projektstamm. Dieses Mal werden wir insgesamt 5 Ziele definieren. Der Inhalt der Definition wird später beschrieben. Beschreiben Sie daher zunächst alle Inhalte der Definition.

■ Definitionsinhalt von build.xml

<! - JAR-Dateiname->

<! - ZIP-Dateiname->

<! - Artefaktverzeichnis erstellen->

<! - src directory->

<! - Ressourcendateiverzeichnis->

<! - Lib-Verzeichnis->

<! - Quelldatei-Codierung->

	<!--

Festlegen des Klassenpfads. Übergeben Sie den Pfad, in dem die erforderlichen Bibliotheken abgelegt sind, an den Klassenpfad. -->

<! - Erstellung einer JAR-Datei (für die Entwicklung) -> <! - Bereinigung des Arbeitsverzeichnisses->

<! - Kopieren Sie andere erforderliche Dateien als Klassendateien->

<! - Alte Dateien löschen->

<! - Neuen Ordner erstellen->

<! - Ressourcendatei kopieren->

<! - Abhängige Dateien kopieren->

<! - Compile->

<! - Erstellen Sie eine ZIP-Datei für die Bereitstellung->

<! - Build-Artefakte löschen->

3.2. Einzelheiten der Definition

Wie bereits erwähnt, definiert build.xml diesmal 5 Ziele. Nur das makeJar-Ziel wird zum Erstellen des Programms verwendet, diesmal wird jedoch alles separat definiert.

Das von Ant verwendete Build-Skript kann für jede Aufgabe, die Sie ausführen möchten, separat definiert werden, z. B. das Aufteilen des Programms in Funktionen. Im makeJar-Ziel wird das Ziel, das eine Voraussetzung für die Erstellung der JAR-Insel ist, aus dem separat definierten Erstellungsskript aufgerufen und die JAR-Datei wird mit diesen erstellt.

Es gibt auch eine Möglichkeit, das abhängige Attribut im Ziel-Tag zu definieren, um das Ziel aufzurufen, das eine Voraussetzung ist. Dieses Mal wollte ich das Skript jedoch so flexibel wie möglich gestalten. Daher habe ich das Tag << antcall > verwendet, um es aufzurufen.

Das Ziel zum Komprimieren des Build-Artefakts ist ein weiteres Ziel, "makeZip".

4. Erstellen und ausführen

Lassen Sie uns jetzt einen Build mit Ant ausführen. Führen Sie die folgenden Schritte aus, um das Programm zu erstellen und auszuführen.

  1. Generieren Sie eine JAR-Datei
  2. Führen Sie die generierte JAR-Datei aus
  3. Archivieren Sie die Build-Artefakte in einer ZIP-Datei

4.1 Generierung von JAR-Dateien

Verwenden Sie zunächst das makeJar-Ziel, um eine JAR-Datei zu generieren. Klicken Sie in Eclipse mit der rechten Maustaste auf build.xml. > Zeigen Sie den Dialog mit Ant build (2) an und aktivieren Sie makeJar. > Klicken Sie auf Ausführen In der Reihenfolge ausführen.

■ Anzeigen des Dialogfelds zum Bearbeiten der Konfiguration picture1.jpg

■ Überprüfen Sie das Ziel und führen Sie es aus Ich denke, dass das saubere Ziel standardmäßig aktiviert ist, aber lassen Sie es uns diesmal deaktivieren. picture2.jpg

Klicken Sie auf die Schaltfläche Ausführen, um das Build-Skript auszuführen. Wenn "BUILD SUCCESSFUL" auf der Konsole angezeigt wird, ist der Build abgeschlossen. Nach dem Aktualisieren des Projekts in Eclipse wird die generierte JAR-Datei angezeigt.

■ Paket-Explorer nach Projektaktualisierung Ich denke, dass der Zielordner erstellt wird und die folgenden Materialien in den Ordner gelegt werden. -Klassendatei nach dem Erstellen -Kopie von Konfigurationsdateien und abhängigen JAR-Dateien ・ Generierte JAR-Datei

picture3.jpg

4.2. Ausführung der generierten JAR-Datei

Lassen Sie uns nun die generierte Datei ausführen. Starten Sie eine Eingabeaufforderung und wechseln Sie in das Zielverzeichnis, in dem Sie das Programm zuvor erstellt haben. Starten Sie die JAR-Datei mit dem folgenden Befehl. Die diesmal erstellte JAR-Datei gibt keinen Einstiegspunkt an und enthält keine abhängigen Dateien. Geben Sie daher zur Laufzeit den Klassenpfad an.

■ Ausführungsbefehl java -cp "./dependency/*;./resources;HelloWorldAnt.jar" main.Main

Wie wäre es damit? Sie sollten dieselbe Anzeige sehen, wie Sie sie zuvor auf Eclipse ausgeführt haben. Dies bestätigt, dass das Programm wie erwartet erstellt wurde.

4.3. Archivieren Sie Build-Artefakte in ZIP-Dateien

Bisher haben Sie alles getan, vom Erstellen mit Ant bis zum Ausführen der erstellten Artefakte. Lassen Sie uns abschließend die erstellten Artefakte in einer ZIP-Datei archivieren.

Einige Leute denken vielleicht, dass dies nicht notwendig ist, aber wenn Sie das, was Sie gemacht haben, bereitstellen, ist es eine andere Anstrengung, die von Ihnen mitgebrachte ZIP-Datei zu entpacken und einzeln zu bringen. .. Dieses Mal wird es als völlig anderes Ziel getrennt, aber Sie können auch \ <antcall > verwenden, um die ZIP-Datei als eine Prozedur zu archivieren.

Nachdem die Einführung lang ist, führen wir das makeZip-Ziel auf die gleiche Weise aus, wie wir die JAR-Datei generiert haben.

Wenn Sie das Projekt nach dem Erstellen aktualisieren, sollte HelloWorldZip im Zielordner generiert werden.

■ Paket-Explorer nach Projektaktualisierung picture4.jpg

Wenn Sie dies entpacken, sehen Sie, dass alle Dateien, die im Zielordner abgelegt wurden, archiviert werden. Normalerweise würden Sie Klassendateien jedoch nicht als Artefakte bereitstellen. Löschen Sie sie daher, bevor Sie sie in ZIP archivieren. Dieses Mal wird alles in ZIP archiviert.

Hierbei ist zu beachten, dass mit Ant in ZIP archivierte Dateien mit Lhaplus nicht dekomprimiert werden können. Es scheint einen Grund zu geben, dies zu untersuchen, aber es kann mit einer anderen Dekomprimierungssoftware als Lhaplus dekomprimiert werden. Verwenden Sie diese also bitte.

Schließlich Dieses Mal habe ich vorgestellt, wie man mit Ant Build eine JAR-Datei für ein Java-Programm generiert. Wie war das?

Dieser Artikel hat auch eine starke Erinnerungsbedeutung für den Autor, aber ich hoffe, dass er denjenigen helfen wird, die Ant in Zukunft verwenden werden.

Recommended Posts

[Für Super-Anfänger] Ameise Super-Einführung
[Für Super-Anfänger] DBUnit Super-Einführung
[Für Super-Anfänger] Maven Super-Einführung
[Für Super-Anfänger] Mirage SQL Super-Einführung
[Für Super-Anfänger] Struts2 Super Primer - Ausgabe 2018
[Für Super-Super-Anfänger] Was ist Objektorientierung?
Ractor super Einführung
Bucheinführung: Spring Boot Empfohlenes Nachschlagewerk für Anfänger!
[Für Super-Anfänger] Verwendung des Autofokus: true
[Einführung in Java] Grundlagen der Java-Arithmetik (für Anfänger)
Verwenden wir Java New FileIO! (Einführung für Anfänger)
Groovy super einfache Einführung
Einführung in Java für Anfänger Grundkenntnisse der Java-Sprache ①
Wie man GitHub für Super-Anfänger benutzt (Teamentwicklung)
Java-Debug-Ausführung [für Java-Anfänger]
[Java] Grundlegende Aussage für Anfänger
Mehr verwendbar Aufzählbar für Anfänger
Java für Anfänger, Daten verstecken
Java-Anwendung für Anfänger: Stream
Halbierungsbaum-Memorandum für Anfänger (1)
[Für Anfänger] Zusammenfassung des Java-Konstruktors
[Rails] Einführung von Rubocop durch Anfänger
Anfänger spielen Janken-Spiele in Java
Umgebungsbau mit Docker für Anfänger
Java für Anfänger, Ausdrücke und Operatoren 1
[Für Anfänger] Führen Sie Selenium auf Java aus
Links zum Erstellen von Android-Apps (für Anfänger)
Java für Anfänger, Ausdrücke und Operatoren 2
[Folio LSP] Grob Docker (für Anfänger)
Hinweise für Anfänger in der Android-Anwendungsentwicklung
[Super Einführung] Über Symbole in Ruby
Objektorientierter Kurs für Anfänger von Anfängern
Heroku über Heroku CLI starten (für Anfänger)
Einführung in die Programmierung für Studenten: Einführung
Empfohlene Lernmethode zum Programmieren von Anfängern
[Für Java-Anfänger] Informationen zur Ausnahmebehandlung
Klassen und Instanzen Java für Anfänger
(Für Super-Anfänger) Getter / Setter und Eigenschaft, in D-Sprache zu denken