Академический Документы
Профессиональный Документы
Культура Документы
Nantes
http://maven.apache.org
Maxime Grau
http://mgreau.com
Maxime Grau
Architecte Java EE
Service des Retraites de l'tat
Auteur du livre Apache Maven Matrisez l'infrastructure d'un projet Java EE (Editions ENI)
Prface et Relecture de Arnaud Hritier Commiter et PMC du projet Apache Maven
Maxime Grau
http://mgreau.com
Sommaire
Prsentation de Apache Maven Cycle de vie / Dpendances Maven dans un contexte professionnel Maven 2 vs Maven 3.0.x vs Maven 3.1 Documentation / Support / Livres
Maxime Grau
http://mgreau.com
Dfinition
Apache Maven est un logiciel de gestion de projets et un outil de construction, bas sur : le concept du POM (Project Object Model) le respect de conventions et normes standards Elment central dans la gestion d'une infrastructure de projet informatique : construction du livrable final gestion des bibliothques logicielles de dpendances, gnration de la documentation et rapport du projet dploiement des versions de livraison sur les plateformes cibles
Maxime Grau
http://mgreau.com
Historique
Cr par Jason Van Zyl (Sonatype) Apache Maven fte ses 10 ans en 2011 Dernires releases:
Maven 2.0.11 Maven 2.2.1 Maven 3.0.3
Maxime Grau
http://mgreau.com
La communaut (ASF)
Apache Software Foundation 4 rles principaux Sponsoris par des socits Sonatype Talend Apache Maven + de 50 personnes 26 PMC
Maxime Grau
http://mgreau.com
modelVersion : prcise la version du modle objet utilis groupId: identifie le projet dans un espace de nommage artifactId: correspond la valeur principale contenue dans le nom du fichier de sortie construit par le projet (fichier XML ou archive) version: donne la version en cours du projet
Exemple de fichier pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" > <modelVersion>4.0.0</modelVersion> <groupId>com.mgreau.mvnbook</groupId> <artifactId>mvnbook-persistence</artifactId> <version>1.0.0-SNAPSHOT</version> </project>
Maxime Grau
http://mgreau.com
<project> <modelVersion>4.0.0</modelVersion> <repositories> <repository> <id>central</id> <name>Maven Repository Switchboard</name> <url>http://repo1.maven.org/maven2</url> ... </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <name>Maven Plugin Repository</name> <url>http://repo1.maven.org/maven2</url> ... </pluginRepository> </pluginRepositories> </project>
Maxime Grau
http://mgreau.com
Notions importantes
Rfrentiels (repositories) Gestion des artefacts
Rfrentiel local (local repository) Rfrentiels distants (remote repositories)
Maxime Grau
http://mgreau.com
Maxime Grau
http://mgreau.com
2e partie
Prsentation de Apache Maven Cycle de vie / Dpendances Maven dans un contexte professionnel Maven 2 vs Maven 3.0.x vs Maven 3.1 Documentation / Support / Livres
Maxime Grau
http://mgreau.com
Cycle de vie
Un cycle de vie d'un projet est reprsent par un ensemble de phases
Chaque phase peut raliser plusieurs actions = goals
Maxime Grau
http://mgreau.com
Maxime Grau
http://mgreau.com
Maxime Grau
http://mgreau.com
Dpendances
Identifier et importer des rfrentiels distants vers le local les bibliothques logicielles ncessaires au fonctionnement du projet
<project> ... <artifactId>mvnbook-persistence</artifactId> ... <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator-annotation-processor</artifactId> <version>4.1.0.Final</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.5.6</version> <scope>runtime</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope> </dependency> </dependencies> </project>
Maxime Grau
http://mgreau.com
3e partie
Prsentation de Apache Maven Cycle de vie / Dpendances Maven dans un contexte professionnel Maven 2 vs Maven 3.0.x vs Maven 3.1 Documentation / Support / Livres
Maxime Grau
http://mgreau.com
Contexte professionnel
Maxime Grau
http://mgreau.com
Maxime Grau
http://mgreau.com
Maxime Grau
http://mgreau.com
Maxime Grau
http://mgreau.com
Tests Intgration
Dploiement et tests dans le container cible
Maxime Grau
http://mgreau.com
Intgration Continue
Permet l'uniformit, l'automatisation et le dploiement des constructions (Continuum, Jenkins, Hudson)
Maxime Grau
http://mgreau.com
Maxime Grau
http://mgreau.com
Gestionnaire de rfrentiels
Logiciel qui permet de centraliser et masquer la complexit lie aux dpts de bibliothques logicielles (Nexus, Artifactory, Archiva)
Maxime Grau
http://mgreau.com
4e partie
Prsentation de Apache Maven Cycle de vie / Dpendances Maven dans un contexte professionnel Maven 2 vs Maven 3.0.x vs Maven 3.1 Documentation / Support / Livres
Maxime Grau
http://mgreau.com
Maven 3 : Construction en parallle Maven 3 : Amlioration des performances Maven 3 : rcrit en Java 5 Maven 3 : nouvelle API pour gestion des artefacts et rfrentiels Maven 3 : meilleures gestion des erreurs Maven 3 : plus de contrles des POM Maven 3 : plugins uniquement grs par <pluginRepositories> Maven 3.1 : Mixins
Maxime Grau
http://mgreau.com
27
5e partie
Prsentation de Apache Maven Cycle de vie / Dpendances Maven dans un contexte professionnel Maven 2 vs Maven 3.0.x vs Maven 3.1 Documentation / Support / Livres
Maxime Grau
http://mgreau.com
Documentation / Support
Docs officielles (Anglais)
http://maven.apache.org http://maven.apache.org/guides/index.html http://maven.apache.org/plugins http://mojo.codehaus.org
Maxime Grau
http://mgreau.com
Livres en Franais
Apache Maven
406 pages 100+ illustrations 1 application fil rouge Maven 2 et 3 1 site Web ddi
http://mvnbook.mgreau.com/
Disponible
Maxime Grau
http://mgreau.com
Livres en Franais
Apache Maven
Nicolas De Loof Arnaud Hritier Disponible
Versions 2 et 3
Maxime Grau
http://mgreau.com
Livres en Anglais
Maxime Grau
http://mgreau.com
Djeuner Technique
Nantes
Questions
http://maven.apache.org
Maxime Grau
http://mgreau.com