IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Développons en Java avec Eclipse

13/07/2003




9. Ant et Eclipse
9.1. Structure du projet
9.2. Création du fichier build.xml
9.3. Exécuter Ant
9.4. Les paramètres
9.5. Résolution des problèmes
9.5.1. Utilisation de caractères accentués
9.5.2. Impossible de lancer la tache javadoc
9.5.3. Impossible d'utilise la tâche junit
9.6. Un exemple complet


9. Ant et Eclipse


Ant est un projet du groupe Apache-Jakarta. Son but est de fournir un outil écrit en java pour permettre la construction d'applications (compilation, exécution de taches post et pré compilation ... ). Ces processus de construction d'applications sont très importants car ils permettent d'automatiser des opérations répétitives tout au long du cycle de vie de l'application (développement, tests, recettes, mises en production ... ). Le site officiel de ant est http://ant.apache.org/

Ant pourrait être comparé au célèbre outil make sous Unix.. Il a été développé pour fournir un outil de construction< indépendant de toute plate-forme.

Il repose sur un fichier de configuration XML qui décrit les différentes tâches qui devront être exécutées par l'outil. Ant fournit un certain nombre de tâches courantes qui sont codées sous forme d'objets développés en java.

Le fichier de configuration contient un ensemble de cible (target). Chaque cible contient une ou plusieurs tâches. Chaque cible peut avoir une dépendance envers une ou plusieurs autres cibles pour pouvoir être éxécutée.

Pour obtenir plus de détails sur l'utilisation de Ant, il est possible de consulter la documentation de la version courante à l'url suivante : http://ant.apache.org/manual/index.html


9.1. Structure du projet


Pour utiliser Ant, il faut organiser différemment la structure du projet si celui-ci utilise la structure par défaut d'un projet Java. Par défaut, les fichiers sources .java et leurs homologues compilés .class sont dans le même répertoire à la racine du projet.

Il faut mettre les sources dans un répertoire et les fichiers .class dans un autre. Ce changement peut être fait dans l'onglet source des propriétés du projet.

Cliquer sur le bouton "Add Folder".

Cliquer sur le bouton "Create New Folder".

Il faut saisir le nom du répertoire qui va contenir les sources (par exemple src) et cliquer sur "OK".

Cliquer sur "OK".

En cliquant sur "Yes", Eclipse va automatiquement créer un répertoire bin qui va contenir le résultat des compilations des sources.

Cliquer sur "OK".

Cliquer sur "Yes".

Il faut ensuite déplacer les fichiers .java existant dans le répertoire src en effectuant un copier/coller dans la vue "Navigateur".

Il faut ensuite créer un répertoire build contenant deux sous dossiers : lib et doc. Ces dossiers vont contenir respectivement les fichiers de distribution générés (.jar, .war, .ear selon le type d'application) et la documentation des classes au format javadoc.


9.2. Création du fichier build.xml


Les ordres de générations sont fournis à Ant sous la forme d'un fichier au format xml nommé build.xml. Il faut créer ce nouveau fichier à la racine du projet.

Le fichier est automatiquement reconnu comme étant un fichier de configuration pour Ant : une icône particulière contenant une fourmi est associée au fichier.

Il suffit ensuite d'éditer le fichier pour insérer les paramètres d'exécution.

<?xml version="1.0"?> <project name="TestAnt1" default="bonjour"> <target name="bonjour"> <echo message="Premier test avec Ant!"/> </target> </project>
Un éditeur particulier est dédié à l'édition du fichier build.xml de Ant. Il propose notamment un achèvement du code pour les tags en utilisant Ctrl + espace.

La vue structure affiche l'arborescence du fichier.

Une fois le contneu du fichier saisi, il suffit de l'enregistrer.


9.3. Exécuter Ant


Pour exécuter Ant avec un fichier build.xml, il suffit dans la vue "Navigateur" ou "Packages" de sélectionner ce fichier build.xml et d'utiliser l'option "Exécuter Ant" du menu contextuel.

Une boite de dialogue s'ouvre. Elle permet de modifier quelques paramètres externes à Ant et de lancer l'exécution.

Par défaut, la tâche définie par défaut dans le fichier build.xml est sélectionnée.

Pour lancer l'exécution, il suffit de cliquer sur le bouton "Exécuter".

Le résultat de l'exécution s'affiche dans la vue "Console"

Buildfile: I:\eclipse 2.1\workspace\test_junit\build.xml bonjour: [echo] Premier test avec Ant! BUILD SUCCESSFUL Total time: 401 milliseconds

9.4. Les paramètres


Dans les préférences, il est possible de préciser des paramètres par défaut utilisés lors de l'édition d'un fichier ant ou de son exécution.


9.5. Résolution des problèmes


Plusieurs problèmes peuvent survenir lors de l'utilisation de Ant. Voici une solution pour quelques uns d'entre eux.


9.5.1. Utilisation de caractères accentués


Il faut ajouter l'attribut encoding avec le jeux de caractères utilisés dans le prologue du fichier build.xml.

<?xml version="1.0" encoding="ISO-8859-1" ?>

9.5.2. Impossible de lancer la tache javadoc


Buildfile: I:\eclipse 2.1\workspace\test_junit\build.xml init: [echo] Generation numero : 7 du July 2 2003 compil: doc: [javadoc] Generating Javadoc [javadoc] Javadoc execution [javadoc] BUILD FAILED: file:I:/eclipse 2.1/workspace/test_junit/build.xml:37: Javadoc failed: java.io.IOException: CreateProcess: javadoc.exe -d "I:\eclipse 2.1\workspace\test_junit\build\doc" -use -package -classpath "I:\eclipse 2.1\s tartup.jar;I:\eclipse 2.1\workspace\test_junit\junit.jar" -version -author "I:\eclipse 2.1\workspace\test_junit\src\MaClasse.java" "I:\eclipse 2.1\workspace\test_junit\src\MaClasse2.java" error=2 Total time: 681 milliseconds
Il faut vérifier la présence de l'outil dans les répertoires désignés par la variable d'environnement PATH du système d'exploitation. Dans le cas de javadoc sous Windows, il faut s'assurer que %JAVA_HOME%\bin soit insérer dans la variable PATH. Si cette dernière doit être modifiée, il faut arrêter et relancer Eclipse après la modification pour que celle ci soit prise en compte.


9.5.3. Impossible d'utilise la tâche junit


Buildfile: I:\eclipse 2.1\workspace\test_junit\build.xml init: [echo] Generation numero : 13 du July 2 2003 compil: test: [junit] BUILD FAILED: file:I:/eclipse 2.1/workspace/test_junit/build.xml:62: Could not create task or type of type: junit. Ant could not find the task or a class this task relies upon.
Dans les préférences, il faut rajouter le fichier junit.jar dans l'onglet "Classpath" de l'arborescence "Ant/Runtime"


9.6. Un exemple complet


<?xml version="1.0" encoding="ISO-8859-1" ?> <project name="TestAnt1" default="all"> <description> Génération de l'application </description> <property name="bin" location="bin"/> <property name="src" location="src"/> <property name="build" location="build"/> <property name="doc" location="${build}/doc"/> <property name="lib" location="${build}/lib"/> <property name="junit_path" value="junit.jar"/> <target name="init" description="Initialisation"> <tstamp/> <buildnumber file="numerobuild.txt" /> <echo message="Generation numero : ${build.number} du ${TODAY}"/> </target> <target name="compil" depends="init" description="Compilation"> <javac srcdir="${src}" destdir="${bin}"> <classpath> <pathelement path="${java.class.path}"/> <pathelement location="${junit_path}"/> </classpath> </javac> </target> <target name="all" depends="init, compil, test, doc" description="Generation complete"> <echo message="Generation complete."/> </target> <target name="doc" depends="compil" description="Generation de la documentation"> <javadoc destdir="${doc}" author="true" version="true" use="true" package="true"> <fileset dir = "${src}"> <include name="**/*.java"/> <exclude name="**/*Test*"/> </fileset> <classpath> <pathelement path="${java.class.path}"/> <pathelement location="${junit_path}"/> </classpath> </javadoc> </target> <target name="test" depends="compil" description="Executer les tests avec JUnit"> <junit fork="yes" haltonerror="true" printsummary="on"> <formatter type="plain" usefile="false" /> <test name="ExecuterLesTests"/> <classpath> <pathelement location="${bin}"/> <pathelement location="${junit_path}"/> </classpath> </junit> </target> </project>
Buildfile: I:\eclipse 2.1\workspace\test_junit\build.xml init: [echo] Generation numero : 16 du July 2 2003 compil: test: [junit] Running ExecuterLesTests [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0,02 sec [junit] Testsuite: ExecuterLesTests [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0,02 sec [junit] [junit] Testcase: testCalculer took 0,01 sec [junit] Testcase: testCalculer took 0 sec [junit] Testcase: testSommer took 0 sec doc: [javadoc] Generating Javadoc [javadoc] Javadoc execution [javadoc] Loading source file I:\eclipse 2.1\workspace\test_junit\src\MaClasse.java... [javadoc] Loading source file I:\eclipse 2.1\workspace\test_junit\src\MaClasse2.java... [javadoc] Constructing Javadoc information... [javadoc] Standard Doclet version 1.4.1 [javadoc] [javadoc] Building tree for all the packages and classes... [javadoc] Building index for all the packages and classes... [javadoc] Building index for all classes... all: [echo] Generation complete. BUILD SUCCESSFUL Total time: 4 seconds


Copyright (C) 1999-2003 Jean Michel DOUDOUX