You are previewing Apache Maven: Version 2 et 3, 2e édition.
O'Reilly logo
Apache Maven: Version 2 et 3, 2e édition

Book Description

Maven, l'outil open-source de gestion et d'automatisation de développement Java, a le vent en poupe. Les raisons : il systématise, rationalise et simplifie le développement collaboratif de projets Java, faisant gagner aux entreprises comme aux développeurs du temps et de l'argent !

Les auteurs, membres de l'équipe de développement Maven, aidés par toute la communauté francophone, ont imaginé de présenter Maven 3 et ses versions précédentes sous un angle original et didactique, à travers un projet fictif, inspiré de leurs expériences sur le terrain. Ils présentent dans ce livre :

  • Les concepts fondamentaux de Maven et leur mise en oeuvre pratique sur un projet.

  • Les fonctionnalités plus avancées pour les gros projets d'entreprise.

  • Des facettes plus spécialisées et moins mises en avant de Maven, mais tout aussi essentielles.

  • Toutes les nouveautés Maven 3.

Chaque chapitre introduit un nouveau cas de figure, un changement d'organisation ou une contrainte supplémentaire à traiter, puis donne des solutions concrètes, des recommandations et les bonnes et mauvaises pratiques. En bref, tout ce que vous devez savoir pour exploiter le formidable potentiel de Maven.

Table of Contents

  1. Cover
  2. Title
  3. Copyright
  4. Contents
  5. Table des listings
  6. Préface de la seconde édition
  7. Avant-propos
  8. Partie 1 Premiers pas avec Maven
    1. 1 Introduction
      1. Prologue
      2. Partageons !
      3. Les fourmis à la rescousse
      4. Et Maven dans tout ça ?
      5. Que fait Maven ?
      6. La clé du mystère
        1. Convention plutôt que configuration
        2. Décrire plutôt que programmer
        3. POM
        4. Pourquoi adopter ces conventions ?
      7. La force de Maven
    2. 2 Au-delà de java.lang
      1. Des JAR sous CVS
        1. Quand le répertoire lib explose
        2. Identification univoque
        3. Dépôt de bibliothèques
      2. Avis aux amateurs de casse-tête
        1. L'ami de mon ami…
      3. Testons un peu
        1. Les “scopes”
      4. Une arme à double tranchant
        1. L'analyse des dépendances
        2. Dépôts et dépendances
        3. Dépôts et dépendances
      5. Conclusion
    3. 3 Un peu plus que compiler
      1. Êtes-vous prêt pour Java 7
      2. Plugins
      3. Propriétés
      4. Quand Java ne suffit plus
        1. Où placer les sources
        2. Ajouter un plugin
        3. Plugin et tâches
      5. Compiler… en JavaScript
        1. Invoquer un plugin
        2. Cycle de vie
      6. Générer du code
      7. Produire autre chose qu'un JAR
      8. Des plugins pour tout ?
      9. Conclusion
    4. 4 Mettre en place des tests unitaires
      1. Tester ? Pour quoi faire ?
        1. Automatisons !
        2. Utiliser un framework de test
      2. Les tests sous Maven
        1. Le scope “test”
        2. Le développement piloté par les tests
        3. Pas de JAR sans tests réussis
        4. Réutiliser notre outillage de test
        5. L'intégration continue
        6. Continuum
        7. Jenkins
        8. Hudson
        9. Lequel choisir ?
      3. Conclusion
    5. 5 Mettre en place des tests d'intégration
      1. Des tests unitaires… de moins en moins unitaires
        1. Qu'est-ce qu'un test “unitaire”
      2. Les profils
        1. S'adapter à l'environnement
        2. Désactiver à la demande
      3. Tester l'accès à une base de données
      4. Utiliser des tests fonctionnels
      5. Tester la charge et les performances
        1. Intégration continue
      6. Profils et effets de bords
      7. Conclusion
  9. Partie 2 Maven en entreprise
    1. 6 Gestion avancée des dépendances
      1. Oracle, quand tu nous tiens
        1. Un moteur de recherche pour Maven
        2. Pourquoi publier un POM sans JAR ?
        3. Installer le fichier manquant
        4. Les dépendances “System”
      2. Créer son propre dépôt
        1. Contrôle d'identité, vos papiers s'il vous plaît !
        2. Rebelote : mais où est javaxjms ?
      3. Gérer son dépôt privé
      4. Métadonnées
      5. Passer à un “véritable” gestionnaire de dépôt
        1. Un miroir de central
        2. Un gestionnaire d'artefacts
      6. Conclusion
    2. 7 Quand le projet devient trop lourd
      1. Un projet – un artefact
        1. Héritage
        2. Packaging d'un POM parent
        3. Parent “naturel”
      2. Mutualiser
        1. Gestion des dépendances
        2. Gestion des plugins
      3. Diviser pour régner
        1. Héritage “naturel”
        2. Et l'intégration continue ?
        3. Un gros projet vs plein de modules
        4. Les modules au service de l'architecture
        5. Garder le contrôle
      4. Conclusion
    3. 8 Maven et JavaEE
      1. Java Entreprise Edition
        1. Construire une archive web WAR
        2. Construire un EJB
        3. Construire une archive d'entreprise EAR
      2. Tester
        1. Selenium
        2. Cargo
      3. Arquillian
      4. Soyons pragmatiques, soyons productifs
        1. Une application web “sur place”
        2. Une application web sans assemblage
        3. Ne plus sortir de l'IDE
      5. JavaEE6
      6. Conclusion
    4. 9 Maven et les IDE
      1. Un plugin Maven pour Eclipse
      2. Maven vu depuis l'IDE
      3. Eclipse
        1. Installation
        2. Import d'un projet Maven
        3. Prise en main
        4. Gestion du POM
        5. Intégration des plugins Maven
        6. Et la cerise…
        7. Interrogations
      4. Intellij Idea
        1. Import d'un projet Maven
        2. Gestion du POM
        3. Intégration des plugins Maven
        4. Bonus
      5. NetBeans
        1. Prise en main
        2. Import d'un projet Maven
        3. Gestion du POM
        4. Intégration des plugins Maven
        5. Bonus
      6. Délibération du jury
      7. Conclusion
    5. 10 Le jour J: la livraison
      1. Stratégie de livraison
        1. Première livraison
        2. Deuxième livraison
        3. Troisième livraison
        4. Documentation
      2. Le plugin release
        1. Étape 1 : préparation
        2. Étape 2 : livraison
        3. Et si ça foire ?
        4. Qui fait la release ?
        5. Notre prochaine version
      3. Tester des candidats
      4. Urgence !
      5. Vis ma vie
      6. Au-delà de l'intégration continue
      7. Conclusion
  10. Partie 3 Encore plus loin avec Maven
    1. 11 Utiliser un outil non supporté
      1. Un outil maison
        1. Réutiliser l'existant
        2. Retour dans un monde de scripts ?
      2. Créer un plugin
        1. Pas de panique !
        2. Des paramètres pour le plugin
        3. Un modèle dynamique
        4. Plexus
        5. Des classes et des royaumes…
        6. Bye bye Maven 2
      3. Tester notre plugin
        1. Plugin testing harness
        2. Plugin invoker
      4. Conclusion
    2. 12 L'assurance qualité
      1. Audit de code
        1. Analyse statique
        2. Analyse dynamique
      2. Les rapports Maven
        1. Autre chose que du HTML
      3. Exploiter notre gestion documentaire
        1. 68 %, qui dit mieux ?
        2. L'entropie augmente
        3. Maîtrise de S
        4. Sonar
      4. Conclusion
    3. 13 Respecter un format de distribution
      1. D'où vient ce JAR ?
        1. Numéro de construction
        2. Numéro de révision
        3. Utiliser le MANIFEST
      2. La confiance règne…
      3. L'EAR ne suffit pas
        1. Assemblage du livrable
        2. L'intégration continue produit notre livrable
        3. L’œuf ou la poule ?
      4. Conclusion
    4. 14 Un nouveau projet démarre
      1. Mutualiser
        1. Qui paye ?
        2. Partager un POM parent
        3. Copier-coller
      2. Copier et mutualiser !
        1. Un plugin qui crée des projets
        2. Un archétype ?
        3. Construire ses propres archétypes
      3. Gérer un projet de référence
        1. Donner le meilleur de nous-mêmes
        2. Démarrer sur les bons rails
        3. Un support pour expérimenter
        4. Un support de démonstration
      4. Conclusion
    5. 15 Avons-nous fait le bon choix?
      1. Les limites
        1. Points faibles
        2. Les plugins
        3. Le support
        4. Le coût de Maven
      2. La concurrence
      3. Un outil reconnu
        1. La communauté
        2. L’équipe de développement
        3. L'adoption en entreprise
      4. L'avenir de Maven
        1. Maven 2.x
        2. Maven 3.x
      5. À qui appartient Maven ?
        1. La fondation Apache
        2. Sonatype
        3. Un peu de stratégie
        4. Open Source
        5. La garantie par l'Open Source
      6. Conclusion
    6. 16 Au-delà de Maven
      1. OSGi
        1. POM d'amour
        2. Retour au PDE
        3. Tant pis pour Maven !
        4. Tycho
      2. Java Modules
        1. jigsaw
        2. À quoi ça sert ?
        3. Quel avenir ?
      3. Conclusion
    7. 17 Nos recommandations
      1. Les bonnes bases
        1. Commandement n° 1 : Les conventions de Maven tu suivras
        2. Commandement n° 2 : Simplicité tu choisiras
        3. Commandement n° 3 : Au fur et à mesure de tes besoins, les outils nécessaires tu mettras en place
        4. Commandement n° 4 : De la surconception point tu ne feras
        5. Commandement n° 5 : Tes outils et ton build à jour tu maintiendras
        6. Commandement n° 6 : Dans un projet, la même version tous les modules auront
        7. Commandement n° 7 : La gestion des versions tu centraliseras
        8. Commandement n° 8 : Comme la peste les dépendances optionnelles tu éviteras
        9. Commandement n° 9 : Les SNAPSHOT tu utiliseras
        10. Commandement n° 10 : L'IDE toujours tu privilégieras
      2. Conclusion
    8. 18 Épilogue
      1. Récapitulons
      2. Sortez de l'amateurisme
      3. Le mot de la fin
      4. Qui est qui ?
        1. Les membres francophones de l’équipe Maven
        2. Les membres de la communauté Java
        3. Post-scriptum
    9. 19 Lexique
      1. Le petit monde open-source
      2. Les concepts Maven
      3. Ceux qui font tourner Maven
      4. Et tout ce qui tourne autour…
      5. Liens utiles
  11. Index