Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide
Consultez :
  • Les documents de reference sur le projet original
  • Les sources de la traduction fr sur GitHub
  • maven


    Maven: The Definitive Guide

    Tim O'Brien

    Sonatype, Inc.

    John Casey

    Sonatype, Inc.

    Brian Fox

    Sonatype, Inc.

    Bruce Snyder

    Sonatype, Inc.

    Jason Van Zyl

    Sonatype, Inc.

    Eric Redmond

    Larry Shatzer

    Emmanuel Hugonnet

    Silverpeas

    Erwan Alliaume

    Xebia IT Architects

    Résumé

    Maven: The Definitive Guide est un livre à propos d'Apache Maven.


    Copyright
    1. Creative Commons BY-ND-NC
    Avant propos: 0.9-SNAPSHOT
    1. Historique de Modifications
    1.1. Changes in Edition 0.7.2
    1.2. Changes in Edition 0.7.1
    1.3. Modifications de l'Edition 0.7
    1.4. Modifications de l'Edition 0.6
    1.5. Modifications de l'Edition 0.5
    1.6. Modifications de l'Edition 0.4
    Préface
    1. Comment utiliser ce livre
    2. Vos Retours
    3. Conventions de Police
    4. Conventions d'écriture Maven
    5. Remerciements
    6. Remerciements des traducteurs
    1. Introduction à Apache Maven
    1.1. Maven... De quoi s'agit-il ?
    1.2. Convention plutôt que configuration
    1.3. Une Interface Commune
    1.4. Réutilisation universelle grâce aux plugins Maven
    1.5. Le Modèle conceptuel d'un "Projet"
    1.6. Maven est-il une alternative à XYZ ?
    1.7. Comparaison de Maven et de Ant
    2. Installation de Maven
    2.1. Vérifier votre installation de Java
    2.2. Téléchargement de Maven
    2.3. Installer Maven
    2.3.1. Installer Maven sur Mac OSX
    2.3.1.1. Installer Maven sur OSX avec MacPorts
    2.3.2. Installer Maven sur Microsoft Windows
    2.3.3. Installer Maven sur GNU/Linux
    2.3.4. Installer Maven sur FreeBSD ou OpenBSD
    2.4. Tester une installation Maven
    2.5. Détails de l'installation de Maven
    2.5.1. Configuration et dépôt spécifiques à l'utilisateur
    2.5.2. Mettre à jour une installation de Maven
    2.5.3. Migrer de Maven 1.x à Maven 2.x
    2.6. Désinstaller Maven
    2.7. Obtenir de l'aide avec Maven
    2.8. À propos de l'Apache Software License
    I. Maven par l'exemple
    3. Mon premier projet avec Maven
    3.1. Introduction
    3.1.1. Télécharger l'exemple de ce chapitre
    3.2. Création du projet Simple
    3.3. Construire le projet Simple
    3.4. Modèle Objet du projet Simple
    3.5. Les concepts principaux
    3.5.1. Plugins Maven et Goals
    3.5.2. Cycle de vie de Maven
    3.5.3. Les coordonnées Maven
    3.5.4. Les dépôts Maven
    3.5.5. La gestion des dépendances de Maven
    3.5.6. Rapports et production du site
    3.6. En résumé
    4. Personnalisation d'un projet Maven
    4.1. Introduction
    4.1.1. Télécharger l'exemple de ce chapitre
    4.2. Présantation du projet Simple Weather
    4.2.1. Yahoo! Météo RSS
    4.3. Créer le Projet Simple Weather
    4.4. Personnaliser les informations du projet
    4.5. Ajout de nouvelles dépendances
    4.6. Code source de Simple Weather
    4.7. Ajouter des Ressources
    4.8. Exécuter le programme Simple Weather
    4.8.1. Le plugin Maven Exec
    4.8.2. Explorer les dépendances de votre projet
    4.9. Ecrire des tests unitaires
    4.10. Ajouter des dépendances dans le scope test
    4.11. Ajouter des ressources pour les tests unitaires
    4.12. Exécuter les test unitaires
    4.12.1. Ignorer les tests en échec
    4.12.2. Court-circuiter les tests unitaires
    4.13. Construire une application packagée et exécutable en ligne de commande
    4.13.1. Rattacher le goal Assembly à la phase Package
    5. Une simple application web
    5.1. Introduction
    5.1.1. Télécharger l'exemple de ce chapitre
    5.2. Définition de l'application web simple-webapp
    5.3. Création du projet web simple-web
    5.4. Configurer le plugin Jetty
    5.5. Ajouter une simple servlet
    5.6. Ajouter les dépendances J2EE
    5.7. Conclusion
    6. Un projet multimodule
    6.1. Introduction
    6.1.1. Télécharger l'exemple de ce chapitre
    6.2. Le projet parent
    6.3. Le module simple-weather
    6.4. Le module simple-web
    6.5. Construction du projet multimodule
    6.6. Exécution de l'application web
    7. Un projet multimodule d'entreprise
    7.1. Introduction
    7.1.1. Télécharger les sources de ce chapitre
    7.1.2. Projet multimodule d'entreprise
    7.1.3. Technologies utilisées dans cet exemple
    7.2. Le projet simple-parent
    7.3. Le module simple-model
    7.4. Le module simple-weather
    7.5. Le module simple-persist
    7.6. Le module simple-webapp
    7.7. Exécution de l'application web
    7.8. Le module de ligne de commande
    7.9. Exécution de l'application en ligne de commande
    7.10. Conclusion
    7.10.1. Programmation avec des projets API
    8. Optimiser et remanier les POMs
    8.1. Introduction
    8.2. Nettoyer le POM
    8.3. Optimiser les dépendances
    8.4. Optimiser les plugins
    8.5. Optimisation avec le plugin Maven Dependency
    8.6. Les POMs finaux
    8.7. Conclusion
    II. Maven - La Reference
    9. Le Modèle Objet de Projet
    9.1. Introduction
    9.2. Le POM
    9.2.1. Le Super POM
    9.2.2. Le POM le plus simple possible
    9.2.3. Le POM effectif
    9.2.4. Véritables POMs
    9.3. Syntaxe de POM
    9.3.1. Les versions d'un projet
    9.3.1.1. Numéro de version de build
    9.3.1.2. Les versions SNAPSHOT
    9.3.2. Référence à une propriété
    9.4. Dépendances d'un projet
    9.4.1. Scope de dépendance
    9.4.2. Dépendances optionnelles
    9.4.3. Intervalle de versions pour une dépendance
    9.4.4. Dépendances transitives
    9.4.4.1. Dépendances transitives et scope
    9.4.5. Résolution des conflits
    9.4.6. Gestion des dépendances
    9.5. Relations entre projets
    9.5.1. Au sujet des coordonnées
    9.5.2. Projets multimodules
    9.5.3. Héritage de projet
    9.6. Les bonnes pratiques du POM
    9.6.1. Regrouper les dépendances
    9.6.2. Multimodule ou héritage
    9.6.2.1. Projet simple
    9.6.2.2. Projet multimodule d'entreprise
    10. Cycle de vie du build
    10.1. Introduction
    10.1.1. Cycle de vie Clean (clean)
    10.1.2. Cycle de vie par défaut (default)
    10.1.3. Cycle de vie Site (site)
    10.2. Cycles de vie spécifiques par type de package
    10.2.1. JAR
    10.2.2. POM
    10.2.3. Plugin Maven
    10.2.4. EJB
    10.2.5. WAR
    10.2.6. EAR
    10.2.7. Autres types de packaging
    10.3. Goals communs aux cycles de vie
    10.3.1. Traiter les resources
    10.3.2. Compilation
    10.3.3. Traiter les ressources des tests
    10.3.4. Compilation des tests
    10.3.5. Tester
    10.3.6. Installer l'artefact
    10.3.7. Déploiement
    11. Profils de Build
    11.1. À quoi servent-ils ?
    11.1.1. Qu'est ce que la Portabilité du Build ?
    11.1.1.1. Builds non portables
    11.1.1.2. Portabilité sur l'environnement
    11.1.1.3. Portabilité interne à une organisation
    11.1.1.4. Véritable Portabilité (Universelle)
    11.1.2. Choisir le bon niveau de portabilité
    11.2. Portabilité grâce aux profils Maven
    11.2.1. Surcharger un POM
    11.3. Activation de profil
    11.3.1. Configuration de l'activation
    11.3.2. Activation par l'absence d'une propriété
    11.4. Lister les profils actifs
    11.5. Trucs et Astuces
    11.5.1. Environnements communs
    11.5.2. Protéger les mots de passe
    11.5.3. Classifieurs de plateforme
    11.6. En résumé
    12. Exécuter Maven
    12.1. Options de ligne de commande Maven
    12.1.1. Définition de propriété
    12.1.2. Obtenir de l'aide
    12.1.3. Utilisation de profils de build
    12.1.4. Afficher les informations relatives à la version
    12.1.5. Travailler en mode déconnecté
    12.1.6. Utiliser le POM et le fichier settings de votre choix
    12.1.7. Chiffrer les mots de passe
    12.1.8. Gestion des erreurs
    12.1.9. Contrôle de la verbosité de Maven
    12.1.10. Exécution de Maven en mode batch
    12.1.11. Téléchargement et vérification des dépendances
    12.1.12. Contrôle de la mise à jour des plugins
    12.1.13. Builds non-récursifs
    12.2. Utilisation des options avancées du Reactor
    12.2.1. Reprise de build
    12.2.2. Spécifier un sous ensemble de projets
    12.2.3. Construire des sous-ensembles
    12.2.4. Modifier simple-weather et vérifier que nous n'avons rien cassé grâce à --also-make-dependents
    12.2.5. Reprise d'un build "make"
    12.3. Usage du plugin Maven Help
    12.3.1. Décrire un plugin Maven
    13. Configuration Maven
    13.1. Configuration des plugins Maven
    13.1.1. Paramètres du plugin Configuration
    13.1.2. Ajouter des dépendances à un plugin
    13.1.3. Configurer les paramètres globaux d'un plugin
    13.1.4. Modifier les paramètres spécifiques à une exécution
    13.1.5. Configuration des paramètres par défaut pour une exécution en ligne de commande
    13.1.6. Configuration des paramètres pour les goals rattachés au cycle de vie par défaut
    14. Maven Assemblies
    14.1. Introduction
    14.2. Les bases du plugin Assembly
    14.2.1. Les descripteurs Assembly prédéfinis
    14.2.2. Construire un Assembly
    14.2.3. Utilisation des assemblies comme dépendances
    14.2.4. Construction d'assemblies à partir d'assemblies dépendances
    14.3. Vue d'ensemble du descripteur d'assembly
    14.4. Le descripteur d'assembly
    14.4.1. Référence de propriété dans un descripteur d'assembly
    14.4.2. Informations obligatoires pour un assembly
    14.5. Choisir les contenus d'un assembly
    14.5.1. Section files
    14.5.2. Section fileSets
    14.5.3. Patterns d'exclusion par défaut pour la balise fileSets
    14.5.4. Section dependencySets
    14.5.4.1. Configurer l'emplacement des dépendances
    14.5.4.2. Interpolation de propriétés pour l'emplacement des dépendances
    14.5.4.3. Inclusion et exclusion de dépendance par scope
    14.5.4.4. Configuration fine : inclusion et exclusion de dépendances
    14.5.4.5. Dépendances transitives, pièces jointes et artefacts de projet
    14.5.4.6. Options avancées de dépaquetage
    14.5.4.7. Résumé des ensembles de dépendances
    14.5.5. La balise moduleSets
    14.5.5.1. Sélection des modules
    14.5.5.2. Balise sources
    14.5.5.3. Interpolation de l'outputDirectoryMapping dans les moduleSets
    14.5.5.4. Balise binaries
    14.5.5.5. moduleSets, POMs parents et balise binaries
    14.5.6. Balise repositories
    14.5.7. Gestion du répertoire racine de l'assembly
    14.5.8. componentDescriptors et containerDescriptorHandlers
    14.6. Best Practices
    14.6.1. Descripteurs d'assembly standards et réutilisables
    14.6.2. Assembly de distribution (agrégation)
    14.7. En résumé
    15. Propriétés et filtrage des ressources
    15.1. Introduction
    15.2. Propriétés Maven
    15.2.1. Propriétés d'un projet Maven
    15.2.2. Propriétés des Settings Maven
    15.2.3. Propriétés des variables d'environnement
    15.2.4. Propriétés système Java
    15.2.5. Propriétés définies par l'utilisateur
    15.3. Filtrage des ressources
    16. Génération du Site
    16.1. Introduction
    16.2. Contruire le site d'un projet avec Maven
    16.3. Personnaliser le descripteur de site
    16.3.1. Personnaliser les images des en-têtes du site
    16.3.2. Personnaliser le menu navigation
    16.4. Structure de répertoire d'un site
    16.5. Écrire la documentation d'un projet
    16.5.1. Exemple de fichier APT
    16.5.2. Exemple de fichier FML
    16.6. Déployez le site de votre projet
    16.6.1. Configurer l'authentification de votre serveur
    16.6.2. Configurer les permissions des fichiers et dossiers
    16.7. Personnaliser l'apparence de votre site
    16.7.1. Personnaliser la CSS du site
    16.7.2. Créer un modèle de site personnalisé
    16.7.3. Réutilisation des skins
    16.7.4. Création d'un thème CSS personnalisé
    16.8. Trucs et Astuces
    16.8.1. Intecter du XHTML dans le HEAD
    16.8.2. Ajouter des liens sous le logo de votre site
    16.8.3. Ajouter un chemin de navigation à votre site
    16.8.4. Ajouter la version de votre projet
    16.8.5. Modifier le format et l'emplacement de la date de publication
    16.8.6. Utiliser des macros Doxia
    17. Création de Plugins
    17.1. Introduction
    17.2. Programmation Maven
    17.2.1. Qu'est ce que l'inversion de contrôle ?
    17.2.2. Introduction à Plexus
    17.2.3. Pourquoi Plexus ?
    17.2.4. Qu'est ce qu'un Plugin ?
    17.3. Descripteur de Plugin
    17.3.1. Éléments haut-niveau du descripteur de plugin
    17.3.2. Configuration du Mojo
    17.3.3. Dépendances d'un Plugin
    17.4. Écrire un plugin personnalisé
    17.4.1. Création d'un projet Plugin
    17.4.2. Un simple Mojo Java
    17.4.3. Configuration d'un préfixe de Plugin
    17.4.4. Les traces d'un plugin
    17.4.5. Annotations de Mojo
    17.4.6. Lorsque un Mojo échoue
    17.5. Paramètres d'un Mojo
    17.5.1. Affecter des valeurs aux paramètres de Mojo
    17.5.2. Paramètres de Mojo multi-valeurs
    17.5.3. Dépendre de composants Plexus
    17.5.4. Paramètres des annotations d'un Mojo
    17.6. Plugins et le cycle de vie Maven
    17.6.1. Exécution dans un cycle de vie parallèle
    17.6.2. Création d'un cycle de vie personnalisé
    17.6.3. Surcharge du cycle de vie par défaut
    18. Utilisation des archetypes Maven
    18.1. Introduction aux archetypes Maven
    18.2. Utilisation des archétypes
    18.2.1. Utilisation d'un archétype à partir de la ligne de commande
    18.2.2. Utilisation du goal Generate en mode interactif
    18.2.3. Utilisation d'un archétype à partir du plugin Eclipse m2eclipse
    18.3. Archétypes disponibles
    18.3.1. Archétypes Maven communs
    18.3.1.1. maven-archetype-quickstart
    18.3.1.2. maven-archetype-webapp
    18.3.1.3. maven-archetype-mojo
    18.3.2. Archétypes tiers notables
    18.3.2.1. AppFuse
    18.3.2.2. Plugins Confluence et JIRA
    18.3.2.3. Wicket
    18.4. Publication d'archétypes
    19. Développement avec Flexmojos
    19.1. Introduction
    19.2. Configuration de l'environnement de build pour Flexmojos
    19.2.1. Faire référence à un dépôt contenant le Framework Flex
    19.2.1.1. Faire référence depuis le POM au dépôt Flexmojos de Sonatype
    19.2.1.2. Utiliser Nexus comme dépôt mandataire de Flexmojos de Sonatype
    19.2.2. Configuration de l'environnement pour les tests Flex Unit
    19.2.3. Ajouter FlexMojos aux groupes de plugins de votre configuration Maven
    19.3. Création d'un projet FlexMojos à partir d'un archétype
    19.3.1. Création d'une bibliothèque Flex
    19.3.2. Création d'une application Flex
    19.3.3. Creation d'un projet multimodule : Une application web avec une dépendance Flex
    19.4. Le cycle de vie de FlexMojos
    19.4.1. Le cycle de vie SWC
    19.4.2. Le cycle de vie SWF
    19.5. Les goals du plugin FlexMojos
    19.5.1. Génération de la documentation ActionScript
    19.5.2. Compilation des sources Flex
    19.5.3. Génération des fichiers de projet Flex Builder
    19.6. Rapports du plugin FlexMojos
    19.6.1. Produire le rapport de documentation ActionScript
    19.7. Développement et personnalisation de Flexmojos
    19.7.1. Obtenir le code source Flexmojos
    A. Annexe : détails des settings
    A.1. Aperçu rapide
    A.2. Détails des settings
    A.2.1. Valeurs simples
    A.2.2. Balise servers
    A.2.3. Balise mirrors
    A.2.4. Balise proxies
    A.2.5. Balise profiles
    A.2.6. Balise activation
    A.2.7. Balise properties
    A.2.8. Balise repositories
    A.2.9. Balise pluginRepositories
    A.2.10. Balise activeProfiles
    A.2.11. Chiffrement des mots de passe dans les Settings Maven
    B. Annexe : alternatives aux spécifications Sun