User Tools

Site Tools


wiki:epims3_3:developer:techno

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wiki:epims3_3:developer:techno [2008/03/26 15:44]
dupierris created
wiki:epims3_3:developer:techno [2008/10/02 10:21] (current)
Line 1: Line 1:
 ===== Technologies utilisées ===== ===== Technologies utilisées =====
 +
 +==== Ant ====
 + 
 +**Description** ​
 +ANT permet de gérer la construction d’une application,​ c’est un système de gestion de build, comparable à Make, qui utilise Java et le format XML pour la description des tâches à effectuer.
 +
 +On utilise ANT dans l’environnement d’Eclipse. Il est toutefois possible d’utiliser ANT en dehors d’Eclipse. Il n’y a pas eu de tests faits avec différentes versions mais aucune ‘tâche’ spéciale n’est utilisée sauf ivy (il faut pointer ivy.jar dans le classpath de ANT)
 +
 +Afin, que les targets ANT utilisant "​javadoc"​ fonctionnent correctement,​ il est nécessaire d'​ajouter tools.jar de Java dans les préférences ANT:  Window -> Preferences -> Ant -> Runtime : Global Entries  ​
 +
 +==== IVY ====
 +IVY est un gestionnaire de dépendance de librairies Java qui s’intègre avec Maeven et Ant. Il permet à des projets J2EE de faciliter l'​import et la maintenance des dépendances de librairies entre modules.
 +
 +Sa mise en place est simple, il suffit de définir un "​Repository"​ central (exemple: partage samba), ensuite de définir dans un fichier XML, les dépendances de chaque JAR. Ensuite, à partir de tâches ANT, il est possible d'​importer dynamiquement l'​ensemble des JAR requis pour la compilation.
 +
 +IVY sait gérer les graphes de dépendances entre librairies : par exemple si un JAR "​A"​ nécessite un JAR "​B"​ pour fonctionner,​ et que le projet à besoin du JAR "​A",​ alors le JAR "​B"​ sera automatiquement téléchargé dans le classpath de compilation du projet. Il sait de plus gérer les conflits de versions.
 +
 +=== Installation ===
 +
 + ​L'​installation est très simple et rapide, il suffit de suivre les étapes suivantes:
 +  - copier le fichier Ivy.jar dans le répértoire lib de Ant " ANT_HOME/​lib "
 +  - sous eclipse: ​ ajouter au classPath de Ant  le Ivy.jar : Window -> Preferences -> Ant -> Runtime : Ant Home Entries  ​
 +
 +=== Configuration ===
 +
 +Pour la récupération des librairies, Ivy offre la possibilité de le faire depuis des librairies telles que "​ibiblio"​ ou alors depuis un repository local. ​
 +Dans le cas où un repository local est défini, créer un fichier "​ivyconf.properties" ​ à la racine de son home-dir :  ​
 +            ivy.local.repository.path= "​path"​
 +            ivy.distrib.dir= "​path"​
 +
 +exemple :
 +   <​!-- ​ configuration du fichier ivyconf.properties ​ -->
 +   <​properties file="​${user.home}/​ivyconf.properties"​ />
 +    ​
 +    <conf defaultResolver="​cp-resolver"​ />
 +     
 +     <​resolvers>​
 +      <chain name="​cp-resolver"​ returnFirst="​false">​
 +        <!-- Repository local -->
 +        <​filesystem name="​cp-local-repository">​
 +           <​ivy pattern="​${ivy.local.repository.path}/​[organisation]/​[module]/​ivys/​ivy-[revision].xml"/>​
 +          <​artifact pattern="​${ivy.local.repository.path}/​[organisation]/​[module]/​[type]s/​[artifact]-[revision].[type]"/>​
 +        </​filesystem>​
 +          ​
 +        <!-- Autres sources -->
 +        <ivyrep name="​ivyrep-sandbox"​ ivyroot="​http://​opensvn.csie.org/​ivyrepsandbox/"/>​
 +        <ivyrep name="​ivyrep"/>​
 +             <​dual name="​ivyrep_ibiblio">​
 +                <ivyrep name="​ivyrep"​ ivyroot="​http://​opensvn.csie.org/​ivyrepsandbox/"/>​
 +                <ibiblio name="​ibiblio"​ />
 +            </​dual> ​  
 +      </​chain>​
 +     </​resolvers>  ​
 +
 +**Remarques** :
 +Il est important de noter que l'​utilisation du caractère '​-'​ est fortement déconseillée dans les fichiers de dépendances ​ ( ivy.xml) ​ pour la définition des configurations,​ car le nom de la configuration ne sera pas pris en entier, et il risque d'y avoir des conflits!
 +
 +==== JUnit ====
 +JUnit est un framework pour les tests unitaires. La version 3.8.1 est embarquée dans Eclipse. ​
 +
 +Pour créer un squelette de test (TestCase) depuis Eclipse :
 +
 +**créer un nouveau ‘JUnit TestCase’** ​
 +sélectionner la classe à tester ​
 +possibilité d’intégrer les méthodes setUp, tearDown ... 
 +choisir les méthodes à tester ​
 +Pour créer une classe pour exécuter un ensemble de tests, depuis Eclipse :
 +
 +**créer un nouveau ‘JUnit TestSuite’** ​
 +sélectionner le package que l’on désire tester ​
 +choisir les classes TestCase définies dans ce package et à exécuter ​
 +choisir d’implémenter la classe main avec un TestRunner de type texte 
 +Il existe des outils de tests, non plus unitaires mais fonctionnels,​ pour les applications Swing ou Web. Quelques uns de ces outils sont décrits ici, pour information. ​
 +
 +==== Log4J ====
 +
 + Log4j est un utilitaire (Apache/​Jakarta) de gestion des logs qui s'​intègre aux  programmes. Il permet de tracer le flux d’une application et de trouver, par exemple, ​ des bugs qui n'​apparaissent qu'​après plusieurs heures ou plusieurs opérations. Ce logger remplace les System.err ou System.out. ​
 +De plus, log4J permet de spécifier où les messages seront logger (dans une console, dans un fichier...),​ le format d'​affichage utilisé (quels renseignements affichés : date, thread, classe, numéro de ligne, etc...).
 +
 +Il existe plusieurs niveaux de message qui sont gérés par ordre de priorité ​ : FATAL, ERROR, WARN, INFO, DEBUG
 +
 ==== Spring ==== ==== Spring ====
 === Spring en 2 mots === === Spring en 2 mots ===
wiki/epims3_3/developer/techno.1206542687.txt.gz · Last modified: 2008/09/24 15:35 (external edit)