English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Maven utilise l'archetype (prototype) pour créer une structure de projet personnalisée, formant ainsi un modèle de projet Maven.
Dans les chapitres précédents, nous avons appris que Maven utilise la commande suivante pour créer rapidement un projet java :
mvn archetype:generate
L'archetype, ou prototype, est une extension Maven, précisément un modèle de projet, dont la tâche consiste à créer une structure de projet à partir du modèle. Nous allons utiliser l'extension archetype quickstart pour créer une application java simple.
Ouvrons la console de commande, passons au répertoire C:\> MVN et exécutons la commande mvn suivante:
C:\MVN> mvn archetype:generate
Maven va commencer à traiter et nécessiter le choix du prototype souhaité:
[INFO] Recherche des projets... [INFO] Recherche dans le dépôt pour le plugin avec le préfixe: 'archetype'. [INFO] ------------------------------------------------------------------- [INFO] Construction du projet Maven par défaut [INFO] tâche-segment: [archetype:generate] (aggregator-style) [INFO] ------------------------------------------------------------------- [INFO] Préparation de l'archetype:generate ... 600: distant -> org.trailsframework:trails-archetype (-) 601: remote -> org.trailsframework:trails-sécurisé-archetype (-) 602: remote -> org.tynamo:tynamo-archetype (-) 603: remote -> org.wicketstuff.scala:wicket-scala-archetype (-) 604: remote -> org.wicketstuff.scala:wicketstuff-scala-archetype Configuration de base pour un projet combinant Scala et Wicket, en fonction de Wicket-Projet Scala. Inclut un exemple de test Specs.) 605: remote -> org.wikbook:wikbook.archetype (-) 606: remote -> org.xaloon.archetype:xaloon-archetype-wicket-jpa-glassfish (-) 607: remote -> org.xaloon.archetype:xaloon-archetype-wicket-jpa-spring (-) 608: remote -> org.xwiki.commons:xwiki-commons-component-archetype (Facilite la création d'un projet Maven pour créer des Composants XWiki.) 609: remote -> org.xwiki.rendering:xwiki-rendering-archetype-macro (Facilite la création d'un projet Maven pour créer des Macros de Rendering XWiki.) 610: remote -> org.zkoss:zk-archetype-component (L'archetype ZK Component) 611: remote -> org.zkoss:zk-archetype-webapp (L'archetype ZK wepapp) 612: remote -> ru.circumflex:circumflex-archetype (-) 613: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-) 614: remote -> sk.seges.sesam:sesam-annotation-archetype (-) Choisissez un numéro ou appliquez un filtre (format: [groupId:]artifactId, sensible à la casse contient): 203:
Appuyez sur Entrée Choisissez l'option par défaut (203:maven-archetype-quickstart).
Choisissez org.apache.maven.archetypes:maven-archetype-version quickstart: 1: 1.0-alpha-1 2: 1.0-alpha-2 3: 1.0-alpha-3 4: 1.0-alpha-4 5: 1.0 6: 1.1 Choisissez un numéro: 6:
Appuyez sur Entrée Choisissez l'option par défaut (6:maven-archetype-quickstart:1.1)
Maven demandera les détails du projet. Entrez les détails du projet selon les instructions. Si vous souhaitez utiliser les valeurs par défaut, appuyez directement sur la touche Entrée. Vous pouvez également entrer vos propres valeurs.
Définir la valeur pour la propriété 'groupId' : : com.companyname.insurance Définir la valeur pour la propriété 'artifactId' : : health Définir la valeur pour la propriété 'version' 1.0-SNAPSHOT Définir la valeur pour la propriété 'package' : com.companyname.insurance
Maven demandera de confirmer les détails du projet, appuyez sur}} Entrée ou appuyez sur Y
Confirmez la configuration des propriétés groupId: com.companyname.insurance artifactId: health version: 1.0-SNAPSHOT package: com.companyname.insurance Y:
Maintenant, Maven va commencer à créer la structure du projet, comme suit :
[INFO] ----------------------------------------------------------------------- [INFO] Utilisation des paramètres suivants pour créer le projet à partir de l'Ancien (1.x) Archetype : maven-archetype-quickstart:1.1 [INFO] ----------------------------------------------------------------------- [INFO] Paramètre : groupId, Valeur : com.companyname.insurance [INFO] Paramètre : packageName, Valeur : com.companyname.insurance [INFO] Paramètre : package, Valeur : com.companyname.insurance [INFO] Paramètre : artifactId, Valeur : health [INFO] Paramètre : basedir, Valeur : C:\MVN [INFO] Paramètre : version, Valeur : 1.0-SNAPSHOT [INFO] Projet créé à partir de l'Ancien (1.x) Archetype dans le répertoire : C:\MVN\health [INFO] ----------------------------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] ----------------------------------------------------------------------- [INFO] Temps total : 4 minutes 12 secondes [INFO] Terminé à : Ven Jul 13 11:10:12 IST 2012 [INFO] Mémoire finale : 20M/90M [INFO] -----------------------------------------------------------------------
Maintenant, passez au répertoire C:\ > MVN. Vous verrez un projet d'application java nommé health, comme le nom de l'artifactId créé lors de la création du projet. Maven créera un projet avec une structure de répertoires standard, comme suit :
Maven génère automatiquement un fichier pom.xml pour le projet, comme suit :
<projet 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"> <versionModèle>4.0.0/>versionModèle< <groupeId>com.companyname.insurance</>groupeId< <idArtificiel>health</>idArtificiel< <version>1.0-SNAPSHOT/>version< <emballage>jar</>emballage< <nom>health</>nom< <url>http://maven.apache.org</>url< <propriétés> <encodageSourceProjet.build>UTF-8</>encodageSourceProjet.build< </>propriétés< <dépendances> <dépendance> <groupeId>junit</>groupeId< <idArtificiel>junit</>idArtificiel< <version>3.8.1</>version< <portée>test</>portée< </>dépendance< </>dépendances< </>projet<
Maven génère automatiquement un fichier java de test appelé App.java.
chemin :C:\MVN\consumerBanking\src\main\java\com\companyname\bank
package com.companyname.insurance; /** * Hello world! * */ public class App { public static void main(String[] args) { System.out.println("Hello World!"); } }
Maven génère automatiquement un fichier java AppTest.java.
L'itinéraire est : C:\MVN\consumerBanking\src\test\java\com\companyname\bank
package com.companyname.insurance; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Test unitaire pour une simple App. */ public class AppTest extends TestCase { /** * Créer le cas de test * * @param testName nom du cas de test */ public AppTest( String testName ) { super( testName ); } /** * @return l'ensemble des tests à tester */ public static Test suite() { return new TestSuite( AppTest.class ); } /** * Test rigoureux :-) */ public void testApp() { assertTrue( true ); } }
C'est ainsi. Maintenant, vous pouvez voir la puissance de Maven. Vous pouvez créer n'importe quel type de projet avec des commandes Maven simples et démarrer votre développement.