[JAVA] [Pour les super débutants] Ant super introduction

introduction

Cette fois, je voudrais vous présenter Ant. Mon article est essentiellement un mémorandum, alors pardonnez-moi s'il ne s'agit pas de l'information sur la fourmi que je recherchais.

Ant est un outil de construction, mais de nos jours, de nombreux outils de construction de haute technologie tels que Maven et Gradle sortent, donc certaines personnes peuvent penser "quel héritage ...", mais après tout Il y a des moments où vous ne pouvez pas aider sans utiliser Ant.

Il existe différents cas, tels que l'impossibilité de créer un environnement pour exécuter Maven, l'impossibilité de se connecter à un réseau et la nécessité de créer un référentiel local. Que cacher Récemment, j'ai moi-même rencontré un tel cas et j'ai fini par recréer l'environnement construit avec Maven comme Ant.

Donc, dans cet article, je vais vous présenter comment créer un fichier Jar qui fonctionne uniquement avec Java pur, au lieu de créer un fichier war pour un projet Web, ce qui est une utilisation typique de Ant.

1. Qu'est-ce que Ant?

Tout d'abord, qu'est-ce que Ant? La réponse est un outil de création de programmes Java. Comme vous pouvez le voir dans le titre de cet article, si vous êtes un super débutant, vous pouvez penser que "Eclipse fera le build pour vous".

C'est vrai. C'est vrai. Même si vous ne prenez pas la peine d'utiliser des outils pour la construction, vous pouvez créer instantanément un fichier Jar en l'exportant vers Eclipse.

Cependant, il n'est pas toujours possible d'avoir Eclipse et de s'appuyer dessus. Dans un tel cas, il est nécessaire de pouvoir construire sans dépendre d'un environnement de développement intégré tel qu'Eclipse. De plus, si vous utilisez un outil, vous pouvez laisser l'outil faire plus que simplement créer un programme Java, afin de réduire certains efforts et erreurs.

Donc cette fois, j'aimerais laisser Ant faire ce qui suit.

  1. Construisez un programme Java et créez un fichier Jar
  2. Copiez les ressources telles que les bibliothèques dépendantes et les fichiers de configuration dans le répertoire spécifié
  3. Combinez 1 et 2 et compressez au format zip

Ensuite, dans la section suivante, je présenterai comment utiliser Ant lors de la construction d'un projet.

2. Construisez un projet

Tout d'abord, créez le projet que vous souhaitez créer avec Ant. Encore une fois, construisons un Hello World traditionnel dans le monde du développement de systèmes et prenons-le comme exemple. L'environnement de développement, que je connais bien dans mon article, utilise Eclipse.

2.1. Créer un nouveau projet Java

Tout d'abord, créez un nouveau projet Java dans Eclipse. Dans mon environnement, j'utilise Eclipse 4.4 Luna.

Je n'ai qu'un seul fichier source, et cette fois je veux une bibliothèque avec des dépendances et un fichier de configuration, donc j'utiliserai logback comme bibliothèque de journalisation. L'arborescence du projet nouvellement créé ressemble à ceci: Le nom du projet est HelloWorldAnt et l'environnement d'exécution est jdk1.8.

■ Parcours du projet ├─src │ └─main │ Main.java ├─resources * Ajouté en tant que dossier src │ logback.xml └lib * Ajouté en tant que dossier normal logback-classic-1.2.3.jar logback-core-1.2.3.jar slf4j-api-1.7.25.jar build.xml

Deux dossiers ont été ajoutés à partir des paramètres de projet par défaut. Le dossier de ressources où se trouve logback.xml et le dossier lib où se trouvent les bibliothèques utilisées. Je veux passer le dossier de ressources en tant que chemin de classe au moment de l'exécution, je le définis donc comme un dossier src, et le dossier lib est juste un emplacement pour les bibliothèques, donc je l'ajoute en tant que dossier normal. Les bibliothèques du dossier lib sont ajoutées au chemin de construction du projet.

En outre, build.xml qui décrit les paramètres de construction d'Ant est placé directement sous le projet.

En prime, je décrirai également les paramètres de logback.xml.

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

<! - Appender pour la sortie de la console-> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

<! - Appender pour les fichiers journaux-> <! - Les fichiers tournent quotidiennement-> logs/log%d{yyyy-MM-dd}.log 3 <! - Format de sortie du fichier-> %d{yyyy-MM-dd'T'HH:mm:ss'Z'} - %m%n

<! - Définition de l'enregistreur->

Ce n'est pas directement lié, mais je l'ajoute pour les fichiers journaux qui tournent quotidiennement.

2.2. Mise en œuvre du traitement

Maintenant que vous avez configuré votre projet, implémentons le traitement proprement dit. Même s'il dit de l'implémenter, c'est juste un Hello World sauf en utilisant locback, donc ce n'est pas particulièrement difficile.

■ Contenu d'implémentation de main.java package main;

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

/**

logger.info ("Hello World at Ant !!");

logger.info ("Fin du traitement"); } }

2.3. Lancer Hello World Jusqu'à présent, vous avez construit un projet à construire avec Ant. Essayons-le. Veuillez l'exécuter en tant qu'application Java sur Eclipse.

Naturellement, je vais afficher Hello World lol Je veux comparer les résultats lorsque j'exécute le module construit avec Ant plus tard, donc je vais décrire le contenu que j'ai exécuté et affiché.

■ Contenu de l'affichage de la console 21: 36: 08.032 [main] INFO main.Main --Démarrage du traitement 21: 36: 08.035 [main] INFO main.Main --Bonjour le monde à Ant !! 21: 36: 08.036 [main] INFO main.Main --Fin du traitement

3. Mise en œuvre de la version Ant

Maintenant que vous avez confirmé que le projet que vous avez construit fonctionne sans erreur, passons à la procédure de création d'un fichier JAR à l'aide d'Ant.

3.1. Définition de build.xml

Tout d'abord, définissez le script de construction dans build.xml placé à la racine du projet. Cette fois, nous définirons un total de 5 cibles. Le contenu de la définition sera décrit plus tard, décrivez donc d'abord tout le contenu de la définition.

■ Contenu de la définition de build.xml

<! - Nom du fichier JAR->

<! - Nom du fichier ZIP->

<! - Construire le répertoire des artefacts->

<! - répertoire src->

<! - Répertoire du fichier de ressources->

<! - Répertoire Lib->

<! - Encodage du fichier source->

	<!--

Définition du chemin de classe. Passez le chemin où les bibliothèques requises sont placées au chemin des classes. -->

<! - Création de fichier JAR (pour le développement) -> <! - Nettoyage du répertoire de travail->

<! - Copiez les fichiers requis autres que les fichiers de classe->

<! - Supprimer les anciens fichiers->

<! - Créer un nouveau dossier->

<! - Copier le fichier de ressources->

<! - Copier les fichiers dépendants->

<! - Compiler->

<! - Créer un fichier ZIP pour le déploiement->

<! - Supprimer les artefacts de construction->

3.2. Détails de la définition

Comme mentionné précédemment, cette fois, build.xml définit 5 cibles. Seule la cible makeJar est utilisée pour construire le programme, mais cette fois, tout est défini séparément.

Le script de construction utilisé par Ant peut être défini séparément pour chaque tâche que vous souhaitez effectuer, comme la division du programme en fonctions. Dans la cible makeJar, la cible qui est une condition préalable à la construction de l'île JAR est appelée à partir du script de construction défini séparément, et le fichier JAR est généré à l'aide de celles-ci.

Il existe également un moyen de définir l'attribut depend dans la balise target afin d'appeler la cible qui est un prérequis, mais cette fois, je voulais rendre le script aussi flexible que possible, j'ai donc utilisé la balise \ <antcall > pour l'appeler.

La cible pour compresser l'artefact de construction est une autre cible, "makeZip".

4. Construire et exécuter

Maintenant, exécutons une compilation avec Ant. Suivez les étapes ci-dessous pour créer et exécuter le programme.

  1. Générez un fichier JAR
  2. Exécutez le fichier JAR généré
  3. Archivez les artefacts de construction dans un fichier ZIP

4.1. Génération de fichiers JAR

Tout d'abord, utilisez la cible makeJar pour générer un fichier JAR. Cliquez avec le bouton droit sur build.xml sur Eclipse > Affichez la boîte de dialogue avec Ant build (2) et cochez makeJar > Cliquez sur Exécuter Exécutez dans l'ordre de.

■ Affichage de la boîte de dialogue d'édition de la configuration picture1.jpg

■ Vérifier et exécuter la cible Je pense que la cible propre est cochée par défaut, mais décochons-la cette fois. picture2.jpg

Cliquez sur le bouton Exécuter pour exécuter le script de génération. Si "BUILD SUCCESSFUL" s'affiche sur la console, la construction est terminée. Après avoir actualisé le projet sur Eclipse, le fichier JAR généré apparaîtra.

■ Explorateur de packages après actualisation du projet Je pense que le dossier cible est créé et que les matériaux suivants sont placés dans le dossier. -Fichier de classe après construction -Copie des fichiers de configuration et des fichiers JAR dépendants ・ Fichier JAR généré

picture3.jpg

4.2. Exécution du fichier JAR généré

Maintenant, exécutons le fichier généré. Démarrez une invite de commande et accédez au répertoire cible dans lequel vous avez créé le programme précédemment. Démarrez le fichier JAR avec la commande suivante. Le fichier JAR créé cette fois-ci ne spécifie pas de point d'entrée et n'inclut pas les fichiers dépendants, spécifiez donc le chemin de classe lors de l'exécution.

■ Commande d'exécution java -cp "./dependency/*;./resources;HelloWorldAnt.jar" main.Main

Vous devriez voir le même affichage que lorsque vous l'avez exécuté sur Eclipse plus tôt. Cela confirme que le programme a été construit comme prévu.

4.3. Archiver les artefacts de construction dans des fichiers ZIP

Jusqu'à présent, vous avez tout fait, de la construction avec Ant à l'exécution des artefacts construits. Enfin, archivons les artefacts construits dans un fichier ZIP.

Certaines personnes peuvent penser que ce n'est pas nécessaire, mais lors du déploiement du fichier créé, il s'agit toujours d'un effort différent pour décompresser le ZIP que vous avez apporté et l'apporter individuellement. .. Cette fois, il est séparé comme une cible complètement différente, mais vous pouvez également utiliser \ <antcall > pour archiver le fichier ZIP en une seule procédure.

Maintenant que l'introduction est longue, exécutons la cible makeZip de la même manière que lorsque nous avons généré le fichier JAR.

Si vous actualisez le projet après la construction, vous devriez voir HelloWorldZip généré dans le dossier cible.

■ Explorateur de packages après actualisation du projet picture4.jpg

Si vous décompressez ceci, vous verrez que tous les fichiers qui ont été placés dans le dossier cible sont archivés. Cependant, vous ne déploieriez normalement pas de fichiers de classe en tant qu'artéfacts, supprimez-les donc avant de les archiver dans ZIP. Cette fois, tout est archivé en ZIP.

Une chose à noter ici est que les fichiers archivés au format ZIP avec Ant ne peuvent pas être décompressés avec Lhaplus. Il semble y avoir une raison d'enquêter, mais il peut être décompressé en utilisant un logiciel de décompression autre que Lhaplus, alors veuillez l'utiliser.

finalement Cette fois, j'ai présenté comment utiliser Ant build pour générer un fichier JAR pour un programme Java.

Cet article a également une forte signification commémorative pour l'auteur, mais j'espère qu'il sera d'une certaine aide pour ceux qui utiliseront Ant à l'avenir.

Recommended Posts

[Pour les super débutants] Ant super introduction
[Pour les super débutants] Super introduction à DBUnit
[Pour les super débutants] Super introduction à Maven
[Pour les super débutants] Super introduction à Mirage SQL
[Pour les super débutants] Struts2 Super Primer - Édition 2018
[Pour les super super débutants] Qu'est-ce que l'orientation objet?
Super introduction de Ractor
Introduction du livre: Spring Boot Livre de référence recommandé pour les débutants!
[Pour les super débutants] Comment utiliser l'autofocus: vrai
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)
Utilisons Java New FileIO! (Introduction, pour les débutants)
Introduction super facile Groovy
Introduction à Java pour les débutants Connaissance de base du langage Java ①
Comment utiliser GitHub pour les super débutants (développement d'équipe)
Exécution de débogage Java [pour les débutants Java]
[Java] Instruction de base pour les débutants
Plus utilisable Enumerable pour les débutants
Java pour les débutants, masquage des données
Application Java pour les débutants: stream
Mémorandum d'arbre de bisection pour les débutants (1)
[Pour les débutants] Résumé du constructeur java
[Rails] Introduction de Rubocop par les débutants
Les débutants jouent à des jeux Janken en Java
Construction d'environnement avec Docker pour les débutants
Java pour les débutants, les expressions et les opérateurs 1
[Pour les débutants] Exécutez Selenium sur Java
Liens pour créer des applications Android (pour les débutants)
Java pour les débutants, les expressions et les opérateurs 2
[Folio LSP] Roughly Docker (pour les débutants)
Notes pour les débutants en développement d'applications Android
[Super Introduction] À propos des symboles dans Ruby
Cours orienté objet pour débutants envoyé par des débutants
Démarrer heroku via heroku CLI (pour les débutants)
Introduction à la programmation pour les étudiants du Collège: Introduction
Méthode d'apprentissage recommandée pour les débutants en programmation
[Pour les débutants en Java] À propos de la gestion des exceptions
Classes et instances Java pour les débutants
(Pour les super débutants) Getter / setter et propriété pour penser en langage D