Université du 7 Novembre à Carthage Année universitaire 2006/2007
Institut National des Sciences Appliquées et de Technologie
I.N.S.A.T
Atelier de Génie Logiciel Avancée :
ANT
INTRODUCTION :
Dans cet Atelier nous allons présenter un jeu d’activités illustrant les différentes
possibilités de ant.
INSTALLATION :
Télécharger la distribution binaire de ant (www.ant.apache.org).
Dé zipper le fichier apache-ant-1.6.5-bin.zip (un répertoire jakarta-ant-version est
créer, contenant l'outil et sa documentation) .
Ajouter le chemin complet du répertoire bin de Ant à la variable système PATH
(pour pouvoir facilement appeler Ant n’ importe dans l'arborescence du
système).
S'assurer que la variable JAVA_HOME pointe sur le répertoire contenant le JDK.
Créer une variable d'environnement ANT_HOME qui pointe sur le répertoire
jakarta-ant-version créé lors de la décompression du fichier.
Il peut être nécessaire d'ajouter les fichiers .jar contenus dans le répertoire lib de
Ant à la variable d'environnement CLASSPATH.
Exemple 1 : Hello World
Dans cet exemple nous allons développer un fichier « build.xml » qui affiche le message
« Hello World! »
Pour commencer nous allons créer un répertoire «d:/Ant_Projects/PR_HelloWorld »
sous lequel on crée le fichier « build.xml » suivant :
<?xml version="1.0"?>
<project name="Exemple1" default="SayHello" basedir=".">
<target name="SayHello">
<echo>Hello World!</echo>
</target>
</project>
L’exécution du contenu de ce fichier est assurée par la commande :
ant [options] [cible]
Dans notre cas, si on est placé dans le même répertoire où se trouve « build.xml » :
Ant v
Sinon : Ant v buildfile %PROJECT_PATH\build.xml
L’options v (Verbose) est utilisé pour fournir un maximum d’information lors de
l’exécution tandis que l’option buildfile est utilisé pour préciser le nom du fichier de
configuration
Nous aurons comme résultat :
Comme vous remarquez, Ant affiche les différentes étapes d’exécutions (grâce à l’option
-v) qui sont :
- Détection de la version de java.
- Détection du SE.
- Parsing du fichier build.xml.
- Initialisation du répertoire racine du projet.
- Création des cibles (Dans notre cas «SayHello »).
- Affichage du résultat d’exécution des différentes cibles et de leurs tâches
correspondantes.
La plupart des IDE Java dispose de plugins pour utiliser ANT et c’est le cas pour Eclipse.
Exécuter ANT à partir d'un IDE permet de bénéficier de fonctionnalités supplémentaires
par rapport à un script :
Vision synthétique de l'ensemble des cibles disponibles, avec leur description.
Exécution d'une cible d'un simple clic de souris ou d'un raccourci clavier.
Possibilité de suspendre temporairement l'exécution.
Présentation de rapports d'exécution plus facilement exploitable (lien vers le code
source, gestion en arborescence, possibilité de changer de niveau de log à
posteriori, ...).
Aide à la gestion du CLASSPATH.
Reproduisons alors notre exemple sous eclipse. Pour cela il faut :
Créer un nouveau projet java.
Créer le fichier build.xml
Afficher la vue de Ant (Window>Show View>Ant).
Ajouter le fichier build.xml
Sélectionner le fichier et appuyer sur pour exécuter.
Nous aurons ainsi le résultat suivant :
Exemple 2 : Hello World
Dans cet exemple nous allons créer un projet dans lequel il y’aura une
classe « HelloWorld» (qui affiche un message « HelloWorld! ») et notre fameux fichier
« build.xml ». La tâche de ce fichier XML consiste à :
Créer, s’il n’existe pas, un répertoire intitulé « output ».
Compiler la classe et placer le fichier « HelloWorl.class » généré dans le
répertoire « output ».
Créer un fichier « Hello.jar » et le placer sous le répertoire « output ».
Exécuter la classe compilée.
Le fichier « build.xml » présente le code suivant :
<project name="hello" default="Execute">
<!-- Définition du classpath du projet-->
<path id="projet.classpath">
<pathelement location="./output/hello.jar" />
</path>
<!--Création du répertoire output-->
<available property="output.exists" file="./output"/>
<!--Si le répertoire n'existe pas alors création-->
<target name="Prepare" unless="output.exists">
<mkdir dir="./output" />
</target>
<!--Sinon Afficher message-->
<target name="RepExist" if="output.exists">
<echo message="Le répertoire output existe déja" />
</target>
<!--Compilation de la classe-->
<target name="Compile" depends="Prepare,RepExist">
<javac srcdir="." destdir="./output" />
</target>
<!--Création du fichier hello.jar-->
<target name="Packaging" description="Création du hello.jar" depends="Compile">
<jar destfile="./output/hello.jar">
<zipfileset dir="output" includes="HelloWorld.class"/>
</jar>
</target>
<!--Exécution de la classe compilé-->
<target name="Execute" depends="Packaging">
<java classname="HelloWorld" fork="true">
<classpath refid="projet.classpath"/>
</java>
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !