Introduction Ă  Maven par Balaji Varnasi et Sudha Belida (traduction)

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.

Source: https://habr.com/ru/post/fr421323/


All Articles