Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Ghania HAMMICHE Mamadou Adama DIALLO
Maven Ghania HAMMICHE Mamadou Adama DIALLO 20/10/2016
2
PLAN C’est quoi Maven? C’est quoi POM(Project Object Model)?
Structure d’un projet Maven? Cycle de vie d’un projet Maven? Avantages et inconvénients Conclusion
3
C’est quoi maven? Logiciel open Source développé par la fondation Apache Utile pour la construction des projets java en général et java j2ee en particulier Automatiser certaines taches Gérer les dépendances Il permet : d'automatiser certaines tâches : compilation, tests unitaires et déploiement des applications qui composent le projet de gérer des dépendances vis-à-vis des bibliothèques nécessaires au projet de générer des documentations concernant le projet Avertissement : L'utilisation de Maven requiert un accès internet ainsi que de l'espace disque pour conserver les fichiers téléchargés. Maven est un outil de construction de projets (build) open source développé par la fondation Apache, initialement pour les besoins du projet Jakarta Turbine. Il permet de faciliter et d'automatiser certaines tâches de la gestion d'un projet Java.
4
C’est quoi POM(Project Object Model)?
Contient les informations nécessaires à Maven pour traiter le projet tel que; nom du projet numéro de version dépendances vers d'autres projets bibliothèques nécessaires à la compilation Le coeur d'un projet Maven 2 est le modèle objet projet (appelé POM pour project object model). Il contient une description détaillée de votre projet, avec en particulier des informations concernant le versionnage et la gestion des configurations, les dépendances, les ressources de l'application, les tests, les membres de l'équipe, la structure et bien plus encore. Le POM prend la forme d'un fichier XML (pom.xml) qui est placé dans le répertoire de base de votre projet. Un fichier pom.xml est présenté ci-dessous : Un projet maven est differents d’un projet java sur le fait que maven se base sur un fichier de configuiration qui est pom dans lequel,,,,,,,
5
Structure d’un projet Maven?
rend le fichier POM plus court et plus simple rend le projet plus simple à comprendre rend l'intégration de plug-ins plus simple Une partie de la puissance de Maven vient des pratiques standardisées qu'il encourage. Un développeur qui a déjà travaillé sur un projet Maven se sentira tout de suite familier avec la structure et l'organisation d'un autre projet Maven. Il n'y a pas besoin de gaspiller du temps à réinventer des structures de répertoires, des conventions, et à adapter des scripts de build Ant pour chaque projet. Même s'il est possible de redéfinir l'emplacement de chacun des répertoires vers une localisation spécifique, il est réellement intéressant de respecter la structure de répertoire standard de Maven 2 autant que possible, et ce pour plusieurs raisons : Cela rend le fichier POM plus court et plus simple Cela rend le projet plus simple à comprendre et rend la vie plus simple au pauvre développeur qui devra maintenir le projet quand vous partirez. Cela rend l'intégration de plug-ins plus simple La structure standard de répertoire de Maven 2 est illustrée dans la figure 1. Dans le répertoire de base se trouve le POM (pom.xml) et deux sous répertoires : src pour tout le code source et target pour les éléments générés.
6
Cycle de vie d’un projet Maven?
Voilà quelques-unes unes des phases les plus utiles du cycle de vie Maven 2 : generate-sources: Génère le code source supplémentaire nécessité par l'application, ce qui est généralement accompli par les plug-ins appropriés. compile: Compile le code source du projet test-compile: Compile les tests unitaires du projet test: Exécute les tests unitaires (typiquement avec Junit) dans le répertoire src/test package: Mets en forme le code compilé dans son format de diffusion (JAR, WAR, etc.) integration-test: Réalise et déploie le package si nécessaire dans un environnement dans lequel les tests d'intégration peuvent être effectués. install: Installe les produits dans l'entrepôt local, pour être utilisé comme dépendance des autres projets sur votre machine locale. deploy: Réalisé dans un environnement d'intégration ou de production, copie le produit final dans un entrepôt distant pour être partagé avec d'autres développeurs ou projets.
7
Avantages et inconvénients
La structure outil stratégique Principe d’'héritage présent, gain en lisibilité du projet Ne pas respecter les conventions Perte en compatibilité et/ou Perte de temps en configuration XML parfois redondant, même en utilisant l'héritage Ne pas respecter les conventions Perte en compatibilité et/ou Perte de temps en configuration Avoir un « super » POM qui fait tout Principe d’'héritage présent, gain en lisibilité du projet Se rendre dépendant de l'environnement Plugin réutilisable, portabilité Sauter systématiquement la phase de test Empêche la découverte tardive de regressions S’'échanger les JARs par mail Principe de partage des JAR existant , repository Utilisation massive du plugin « antrun » Script ant -> build.xml
8
conclusion Maven1 et Maven2 ont été développés en parallèle mais les versions suivantes sont basées sur la structure de la deuxième version. Maven2 rencontre encore aujourd'hui un certain nombre de problèmes. L'un des reproches que l'on peut lui faire, d'un point de vue technique, est la grande complexité de son noyau. Ceci fait que peu d'évolutions ont finalement été apportées au cœur de Maven2 durant la vie de ce projet, et que la communauté des développeurs Java s'est peu impliquée dans l'évolution de Maven, hormis par le biais des plugins. Voici une liste non exhaustive des problèmes rencontrés avec Maven2 : Dès que l'on veut sortir un peu du système Maven2, que l'on veut faire des choses en dehors du cadre de l'outil, ça devient vite complexe. Le pom.xml est trop verbeux, par exemple pour la définition des dépendances. Trop grande utilisation de plugins, y compris pour réaliser certaines tâches simples. Documentation "officielle" peu fournie et assez peu intuitive. Heureusement, plusieurs ouvrages complets (et pour certains gratuits) existent ! XML parfois redondant, même en utilisant l'héritage. Support pas encore parfait dans les IDE, bien que les choses s'améliorent. Développement et support des plugins "officiels" inégaux. Manque de souplesse, de rigueur sur certains principes (difficile de sortir du cycle de vie par exemple). Maven3 arrive donc à grands pas, afin de combler un certain nombre de lacunes de l'actuelle solution de build Maven2. À noter que les utilisateurs du plugin m2eclipse (plugin offrant le support de Maven2 à Eclipse) utilisent déjà Maven3, car ce plugin se base sur cette nouvelle version de l'outil. De même, les dernières versions de NetBeans ou encore d'IntelliJ utilisent cette version de Maven pour construire les projets. Ci-dessous, une liste non-exhaustive des principales modifications effectuées.
9
Merci de votre attention
Questions?
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.