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.
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.
Ensuite, dans la section suivante, je présenterai comment utiliser Ant lors de la construction d'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.
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->
<! - Appender pour les fichiers journaux->
<! - Définition de l'enregistreur->
Ce n'est pas directement lié, mais je l'ajoute pour les fichiers journaux qui tournent quotidiennement.
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;
/**
@author tarosa0001 */ public class Main { / ** Enregistreur * / private static Logger logger = LoggerFactory.getLogger(Main.class);
/**
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
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.
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) ->
<! - 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->
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".
Maintenant, exécutons une compilation avec Ant. Suivez les étapes ci-dessous pour créer et exécuter le programme.
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
■ 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.
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é
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.
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
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