D'aprĂšs un traducteur: Il y a quelques annĂ©es, je me suis fixĂ© pour objectif de dĂ©couvrir rapidement, mais assez Ă©troitement, un framework aussi couramment utilisĂ© que Apache Maven . Presque immĂ©diatement, j'ai rĂ©ussi Ă  trouver la littĂ©rature appropriĂ©e, mais j'ai Ă©tĂ© lĂ©gĂšrement surpris par le fait que tous les documents complexes Ă©taient exclusivement en anglais, alors qu'en russe il y avait beaucoup d'articles dispersĂ©s, mais je n'ai pas pu trouver un livre Ă  part entiĂšre qui pouvait ĂȘtre lu de la couverture Ă  la couverture. rĂ©ussi. En consĂ©quence, pour la lecture, j'ai choisi un petit livre, Introducing Maven, Ă©crit par Balaji Varnasi et Sudha Belida et publiĂ© par Apress en 2014. Au fur et Ă  mesure que toutes les tĂąches ont Ă©tĂ© rĂ©solues, j'ai progressivement donnĂ© naissance Ă  une traduction de cette publication qui, bien qu'elle soit posĂ©e sur mon bureau depuis quelques annĂ©es, peut encore ĂȘtre utile Ă  la communautĂ©.
Ici, je donne une traduction d'un seul des chapitres de ce livre, mais l'ensemble peut ĂȘtre tĂ©lĂ©chargĂ© ici Ă  partir de ces liens en anglais ou en russe (PDF).
Chapitre 6: Archétypes Maven
Jusqu'à ce point, vous avez créé le projet Maven manuellement, en créant des dossiers et des fichiers 
pom.xml Ă  partir de zĂ©ro. Cela peut ĂȘtre fastidieux, surtout si vous devez souvent crĂ©er des projets. Pour rĂ©soudre ce problĂšme, Maven fournit des archĂ©types. 
Les archétypes Maven sont des projets prédéfinis qui permettent aux utilisateurs de créer facilement de nouveaux projets.
Les archétypes Maven fournissent également une base pratique pour partager des expériences et assurent la cohérence de la structure de répertoire Maven standard. Par exemple, une entreprise peut créer un archétype avec une feuille de style en cascade ( 
CSS ) d'entreprise, 
des bibliothÚques approuvées 
JavaScript et des composants réutilisables. Les développeurs utilisant ces archétypes pour créer des projets suivront automatiquement les normes de l'entreprise.
Archétypes intégrés
PrĂȘt Ă  l'emploi, Maven fournit aux dĂ©veloppeurs des centaines d'archĂ©types. De plus, il existe de nombreux projets open source qui fournissent des archĂ©types supplĂ©mentaires que vous pouvez tĂ©lĂ©charger et utiliser. Maven fournit Ă©galement des archĂ©types de plug-in avec des objectifs pour crĂ©er des archĂ©types et gĂ©nĂ©rer des projets Ă  partir d'archĂ©types.
Le plugin d'archétype a une cible de 
génération qui vous permet de visualiser et de sélectionner l'archétype requis. 
Le listing 6-1 affiche les résultats de l'exécution de la cible de génération à partir de la ligne de commande. Comme vous pouvez le voir, 491 archétypes ont été choisis 
(en 2018, il y en avait déjà plus de 2000 - environ Transl.) . L'utilisation de plusieurs d'entre eux est discutée dans ce chapitre.
Listing 6-1. Le plugin d'archétype Maven génÚre un appel cible$mvn archetype:generate [INFO] Scanning for projects... [INFO] [INFO] ----------------------------------------------------------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] ----------------------------------------------------------------------- [INFO] [INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom >>> [INFO] [INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom <<< [INFO] [INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) ........................... ........................... 1176: remote -> ru.yandex.qatools.camelot:camelot-plugin (-) 1177: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-) 1178: remote -> sk.seges.sesam:sesam-annotation-archetype (-) 1179: remote -> tk.skuro:clojure-maven-archetype (A simple Maven archetype for Clojure) 1180: remote -> tr.com .lucidcode:kite-archetype (A Maven Archetype that allows users to create a Fresh Kite project) 1181: remote -> uk.ac.rdg.resc:edal-ncwms-based-webapp (-) 1182: local -> com.inflinx.book.ldap:practical-ldap-empty-archetype (-) 1183: local -> com.inflinx.book.ldap:practical-ldap-archetype (-) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 491: 
Création de projets Web
Maven fournit l' 
archétype maven-archetype-webapp pour générer une application Web. Créons une telle application en appelant la commande suivante dans le 
dossier C: \ apress \ gswm-book \ chapter6 :
 mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp 
Cette commande est exécutée de maniÚre interactive. Pour les questions entrantes, entrez les informations suivantes:
 Define value for property 'groupId': : com.apress.gswmbook Define value for property 'artifactId': : gswm-web Define value for property 'version': 1.0-SNAPSHOT: : <<Hit Enter>> Define value for property 'package': com.apress.gswmbook: : war Confirm the properties configuration: groupId: com.apress.gswmbook artifactId: gswm-web version: 1.0-SNAPSHOT package: war Y: <<Hit Enter>> 
La structure de dossiers générée doit ressembler à celle illustrée à la 
figure 6-1 :
Figure 6-1. Structure du projet Web Maven
Le fichier 
pom.xml est minimal et contient une seule dépendance - 
JUnit . Maven peut simplifier le lancement de votre application Web à l'aide de serveurs Web intégrés tels que 
Tomcat ou 
Jetty . 
Le listing 6-2 affiche le fichier 
pom.xml modifié avec le plugin 
Tomcat ajouté.
Listing 6-2. Fichier pom.xml modifié avec plugin Tomcat intégré <project xmlns=" http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> </project> 
Afin d'exécuter cette application Web sur le serveur 
Tomcat , appelez la commande suivante dans le répertoire racine du projet:
 mvn tomcat7:run 
Vous verrez un projet détaillé et une sortie similaire à celle montrée dans le 
Listing 6-3 .
Listing 6-3. Sortie de la commande d'exécution Tomcat Oct 11, 2014 12:08:43 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Tomcat Oct 11, 2014 12:08:43 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.47 Oct 11, 2014 12:08:45 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [334] milliseconds. Oct 11, 2014 12:08:45 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 
Maintenant, lancez votre navigateur et accédez à 
localhost : 8080 / gswm-web / . Vous devriez voir une page Web comme celle illustrée à la 
figure 6-2 .
Figure 6-2. Projet Web exécuté dans un navigateur
Projet multimodulaire
Les projets Java Enterpise Edition (JEE) sont souvent divisés en plusieurs modules pour faciliter le développement et la maintenance. Chacun de ces modules produit des artefacts tels que des 
Enterprise JavaBeans (EJB) , des services Web, des projets Web et des 
fichiers JAR client. Maven prend en charge le développement de tels grands projets 
JEE , vous permettant d'héberger plusieurs projets Maven dans un autre projet Maven. La structure d'un tel projet multi-module est illustrée à la 
figure 6-3 . Le projet parent contient un fichier 
pom.xml et plusieurs projets Maven à l'intérieur.
Figure 6-3. La structure d'un projet multi-modules
Jusqu'à la fin de ce chapitre, nous vous expliquerons comment créer un projet multi-module pour une tùche dans laquelle vous devez diviser un grand projet en une application Web (artefact 
WAR ) qui fournit une interface utilisateur, un projet de service (artefact 
JAR ) contenant le code de couche de service et le projet 
Persistance contenant le code au niveau du référentiel. 
La figure 6-4 montre une représentation visuelle d'un tel scénario.
Figure 6-4. Projet multimodulaire Maven
Commençons le processus en créant un projet parent. Pour ce faire, exécutez la commande suivante à une invite de commandes dans le dossier C: \ apress \ gswm-book \ chapter6:
 mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-parent -Dversion=1.0.0-SNAPSHOT -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=pom-root 
L'archétype 
pom-root crée le dossier 
gswm-parent et le fichier 
pom.xml .
Comme le 
montre le Listing 6-4 , le fichier 
pom.xml généré a un contenu minimal. Notez que le type de 
pom est spécifié dans la balise d' 
empaquetage du projet parent.
Listing 6-4. Fichier parent pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>gswm-parent</name> </project> 
Créez maintenant un projet Web en exécutant la commande suivante dans le 
dossier C: \ apress \ gswm-book \ chapter6 \ gswm-parent :
 mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-web -Dversion=1.0.0-SNAPSHOT -Dpackage=war -DarchetypeArtifactId=maven-archetype-webapp 
Au cours de la génération de ce projet Web, vous avez fourni à Maven des coordonnées telles que 
groupId , 
version , etc. en tant que paramÚtres transmis à la cible de génération, qui a créé le projet 
gswm-Web .
L'étape suivante consiste à créer un projet de service. à partir du 
dossier C: \ apress \ gswm-book \ chapter6 \ gswm-parent, exécutez la commande suivante:
 mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-service -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 
Veuillez noter que vous n'avez pas spécifié le paramÚtre de 
package , car 
maven-archetype-quickstart crée un projet 
JAR par défaut. Notez également l'utilisation du paramÚtre 
interactiveMode . Il indique simplement à Maven d'exécuter la commande sans demander à l'utilisateur aucune information.
Comme pour l'étape précédente, créez le projet Java 
gswm-repository suivant en exécutant la commande suivante dans le 
dossier C: \ apress \ gswm-book \ chapter6 \ gswm-parent :
 mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-repository -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 
Maintenant que vous avez gĂ©nĂ©rĂ© tous les projets, jetez un Ćil au fichier 
pom.xml dans le dossier 
gswm-parent . 
Le Listing 6-5 affiche son contenu.
Listing 6-5. Fichier pom.xml parent avec modules <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven 4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>gswm-parent</name> <modules> <module>gswm-web</module> <module>gswm-service</module> <module>gswm-repository</module> </modules> </project> 
L'élément 
modules vous permet de déclarer des modules enfants dans un projet multi-modules. à mesure que chaque module est généré, Maven les enregistre en tant qu'enfants. De plus, il modifie les fichiers 
pom.xml des modules eux-mĂȘmes, en leur ajoutant des informations sur le 
pom.xml parent. 
Le listing 6-6 affiche le fichier 
pom.xml du projet 
gswm-web , qui spécifie l'élément 
pom parent.
Listing 6-6. Fichier pom.xml du module Web <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> </build> </project> 
Maintenant que toute l'infrastructure est installée, vous pouvez assembler le prochain projet. Exécutez simplement la commande 
mvn package Ă  partir du dossier 
gswm-project , comme indiqué dans le 
Listing 6-7 .
Listing 6-7. Lancement de la commande de package Maven dans le répertoire du projet parent C:\apress\gswm-book\chapter6\gswm-parent>mvn package [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] gswm-parent [INFO] gswm-web Maven Webapp [INFO] gswm-service [INFO] gswm-repository [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] gswm-parent ....................................... SUCCESS [0.001s] [INFO] gswm-web Maven Webapp ............................. SUCCESS [1.033s] [INFO] gswm-service ...................................... SUCCESS [0.552s] [INFO] gswm-repository ................................... SUCCESS [0.261s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.949s [INFO] Finished at: Mon Oct 13 23:09:21 MDT 2014 [INFO] Final Memory: 6M/15M [INFO] ------------------------------------------------------------------------ 
Création d'archétypes
Maven propose plusieurs façons de créer un nouvel archétype. Ici, nous allons utiliser un projet existant pour cela.
Commençons par créer un projet prototype qui servira de base à la génération de l'archétype. Ce projet sera compatible avec 
Servlet 3.0 et contient un 
servlet d'état qui renvoie un code d'état HTTP 200 («OK» - demande réussie). Au lieu de créer un projet Web à partir de zéro, copiez le projet 
gswm-web généré précédemment et créez 
gswm-web-prototype dans le 
dossier C: \ apress \ gswm-book \ chapter6 . Apportez les modifications suivantes au projet que vous venez de copier:
1. Supprimez toutes les autres ressources, telles que les fichiers spécifiques à l' 
environnement de développement intégré (IDE) ( 
.project , 
.classpath , etc.) que vous ne souhaitez pas inclure dans l'archétype.
2. Remplacez le contenu du 
fichier web.xml du dossier webapp / WEB-INF . Cela configurera l'application Web pour utiliser 
Servlet 3.0 :
 <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name> </web-app> 
3. Ajoutez la dépendance 
Servlet 3.0 au fichier 
pom.xml . Le contenu 
pom.xml mis Ă  jour 
est illustré dans le 
Listing 6-8 .
Listing 6-8. Fichier Pom.xml avec dépendance de servlet <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> </project> 
4. Depuis nous allons développer un projet web en Java, puis créer un dossier appelé 
java dans le répertoire 
src / main . De mĂȘme, crĂ©ez les dossiers 
test / java et 
test / resources dans le répertoire 
src .
5. Créez le fichier 
AppStatusServlet.java appartenant au package 
com.apress.gswmbook.web.servlet dans le 
répertoire src / main / java . Le package 
com.apress.gswmbook.web.servlet est converti en la structure de dossiers 
com \ apress \ gswmbook \ web \ servlet . Le code source du fichier 
AppStatusServelet.java est indiqué dans le 
Listing 6-9 .
Listing 6-9. Code source de la classe Java AppStatusServlet package com.apress.gswmbook.web.servlet; import javax.servlet.annotation.WebServlet; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; @WebServlet("/status") public class AppStatusServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter writer = response.getWriter(); writer.println("OK"); response.setStatus(response.SC_OK); } } 
Une conception de prototype dans la structure sera un voyage à celui décrit dans la 
Fig . 
6-5 .
Fig. 6-5. Projet prototype généré
à l'aide de la ligne de commande, accédez au 
dossier gswm-web-prototype du projet Ă  partir de la commande suivante:
 mvn archetype:create-from-project 
Ă la fin de la commande, vous verrez le message 
Archétype créé dans cible / sources générées / archétype . L'archétype généré se trouve dans le 
dossier gswm-web-prototype / target / generated-sources / archetype .
L'étape suivante consiste à transférer l'artefact nouvellement généré dans un dossier gswm-web-archetype distinct pour le configurer avant la publication. Pour ce faire, procédez comme suit:
1. Créez le 
dossier gswm-web-archetype dans le répertoire 
C: \ apress \ gswm-book \ chapter6 .
2. Copiez les sous-répertoires et fichiers du dossier 
C: \ apress \ gswm-book \ chapter6 \ gswm-web-prototype \ target \ generated-sources \ archetype dans le dossier 
gswm-web-archetype .
3. Supprimez le sous-répertoire 
cible du 
dossier C: \ apress \ gswm-book \ chapter6 \ gswm-web-archetype .
La structure des dossiers de 
gswm-web-archetype doit ĂȘtre similaire Ă  celle illustrĂ©e Ă  la 
figure 6-6 .
Fig. 6-6. Structure de projet d'archétype Web
Commençons le processus de modification avec le fichier 
pom.xml situé dans le 
dossier gswm-web-archetype \ src \ main \ resources \ archetype-resources . Modifiez 
finalName dans 
pom.xml de 
gswm-web en $ {artifactId}. Au cours du processus de création de projet, Maven remplacera l'expression 
$ {artifactId} par la valeur fournie par l'utilisateur.
Lorsqu'un projet est créé à partir d'un archétype, Maven demande à l'utilisateur le nom du package. Maven crée une structure de dossiers correspondant au package situé dans le répertoire 
src / main / java du projet créé. Ensuite, Maven déplace tout le contenu du dossier d'archétype 
archetype-resources / src / main / java dans ce package. Parce que Si vous souhaitez que 
AppStatusServlet se trouve dans le sous- 
package web.servlet , créez le dossier 
web / servlet et déplacez-y 
AppStatusServlet . Le nouvel emplacement d' 
AppStatusServlet.java est illustré à la 
figure 6-7 .
Fig. 6-7. AppStatusServlet dans le package web.servlet
Ouvrez 
AppStatusServlet.java et modifiez le nom du 
package Ă  partir du 
package $ {package}; sur le 
package $ {package} .web.servlet;La derniÚre étape de la création d'un archétype consiste à exécuter la commande suivante à partir de la ligne de commande, située dans le dossier gswm-web-archetype:
 mvn clean install 
Utiliser des archétypes
Une fois l'archétype installé, le moyen le plus simple de créer un projet à partir de celui-ci consiste à, dans le 
dossier C: \ apress \ gswm-book \ chapter6 , exécuter la commande suivante:
 mvn archetype:generate -DarchetypeCatalog=local 
En rĂ©ponse aux requĂȘtes de Maven, entrez les valeurs indiquĂ©es dans l' 
extrait 6-10 , et vous verrez le projet créé.
Listing 6-10. Création d'un nouveau projet à l'aide d'un archétype C:\apress\gswm-book\chapter6>mvn archetype:generate -DarchetypeCatalog=local [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ------------------------------------------------------------------------ [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache. maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype:1: local -> com.apress.gswmbook:gswm-web-archetype (gswm-web-archetype) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1 Define value for property 'groupId': : com.apress.gswmbook Define value for property 'artifactId': : test-project Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.apress.gswmbook: : Confirm properties configuration: groupId: com.apress.gswmbook artifactId: test-project version: 1.0-SNAPSHOT package: com.apress.gswmbook Y: : ------------------------------------------------------------------------------ project [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:27.635s [INFO] Finished at: Mon Oct 13 23:36:01 MDT 2014 [INFO] Final Memory: 9M/22M [INFO] ------------------------------------------------------------------------ 
Parce que le fichier 
pom.xml pour 
test-project contient déjà le plug-in 
Tomcat , puis exécutez la commande 
mvn tomcat7: run dans le 
dossier C: \ apress \ gswmbook \ chapter6 \ test-project pour démarrer le 
projet . Ouvrez un navigateur et accédez à 
localhost : 8080 / test-project / status . Vous verrez l'inscription 
OK , comme le montre la 
figure 6-8 .
Fig. 6-8. Page générée par le projet généré
Résumé
Les archétypes Maven sont des talons de projet qui vous permettent de lancer rapidement de nouveaux projets. Dans ce chapitre, les archétypes intégrés ont été utilisés pour générer des projets Maven complexes, tels que des projets Web ou des projets multi-modules. Vous avez également appris à créer et à utiliser des archétypes personnalisés.
Dans le chapitre suivant, vous apprendrez les bases de la génération de sites, de la documentation et des rapports à l'aide de Maven.