Powerpoint de la présentation

publicité
Gestionnaire de projets JAVA
Présenté par Sébastien PITOISET
IR3
Jeudi 16 octobre 2003
1
Plan
 Introduction
 Les projets Jakarta
 Présentation des concepts
 Utilisation
 Exemples pratiques
 Conclusion
1
Introduction
 Raisons du choix
 Projet Apache Jakarta
 Origines du besoin
 Que permet-il ?
 Compiler et déployer des applications (JAR, WAR)
 Gérer les dépendances : librairies à jour
 Effectuer les tests unitaires, formater les sources
 Générer la documentation complète du projet
1
Les projets Jakarta
 Projets professionnels de référence
 Organisation de l’équipe : technocratie
 initiateur = architecte
 vote des nouveaux objectifs
 Devenir contributeur
 Organisation du travail : cvs, mailing lists…
1
Présentation des concepts
 Les builds de projet aujourd’hui
 Simplicité de Maven : POM
 Structure du fichier project.xml
 source directory
 nom des développeurs, société
 repository cvs : dépendances
 repertoires de tests unitaires
1
Présentation des concepts
 Comparatif avec Ant
 Ant = make multi plate-forme
 build.xml vs SourceDirectory
 target et tâches non réutilisables
 Compatibilité des deux
 Système de plugins
 Utilisation : #maven nom_plugin:goal
1
Utilisation
 Exemples de plugins
 jar, war
 pdf, latex (documentation)
 eclipse, jbulder
 Personalisation et création de plugin
 maven.xml : ajout d’extensions <PostGoal> et <PreGoal>
 maven.xml : création de goals
Développement de plugins en jelly
1
Utilisation
 Jelly
<?xml version="1.0" encoding="ISO-8859-1"?>
<project xmlns:j="jelly:core">
<goal name="Echo Dependencies">
<j:forEach var="dep” items="${pom.dependencies}">
<echo>${pom.getDependencyPath(dep.getId())}</echo>
</j:forEach>
</goal>
</project>
1
Exemples pratiques
 Installation
 maven.apache.org
 $MAVEN_HOME et $JAVA_HOME
 Démo
 # maven java:compile
 # maven jar
 # maven site:generate
1
Conclusion
 Défauts
 Projet récent : peu de docs
 Lenteurs d’exécution
 Améliorations futures
 Développement de plugins en Java, Python…
 Amélioration des performances
 Support de projets écrits dans d’autres langages
 Posez-vous les bonnes questions !
1
Références
 http://maven.apache.org
 Emmanuel Venisse : [email protected]
 http://www-106.ibm.com/developerworks/java/library/j-maven/
 Livre en préparation
1
Téléchargement