Maven - Modèles de projets
Maven fournit aux utilisateurs une très grande liste de différents types de modèles de projets (614 en chiffres) utilisant le concept de Archetype. Maven aide les utilisateurs à démarrer rapidement un nouveau projet java à l'aide de la commande suivante.
mvn archetype:generate
Qu'est-ce que l'archétype?
Archetype est un plugin Maven dont la tâche est de créer une structure de projet selon son modèle. Nous allons utiliser le plugin d'archétype de démarrage rapide pour créer une application Java simple ici.
Utilisation du modèle de projet
Ouvrons la console de commande, allons à la C:\ > MVN répertoire et exécutez ce qui suit mvn commander.
C:\MVN>mvn archetype:generate
Maven commencera le traitement et demandera de choisir l'archétype requis.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] -------------------------------------------------------------------
[INFO] Preparing archetype:generate
...
600: remote −> org.trailsframework:trails-archetype (-)
601: remote −> org.trailsframework:trails-secure-archetype (-)
602: remote −> org.tynamo:tynamo-archetype (-)
603: remote −> org.wicketstuff.scala:wicket-scala-archetype (-)
604: remote −> org.wicketstuff.scala:wicketstuff-scala-archetype
Basic setup for a project that combines Scala and Wicket,
depending on the Wicket-Scala project.
Includes an example Specs test.)
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
(Make it easy to create a maven project for creating XWiki Components.)
609: remote −> org.xwiki.rendering:xwiki-rendering-archetype-macro
(Make it easy to create a maven project for creating XWiki Rendering Macros.)
610: remote −> org.zkoss:zk-archetype-component (The ZK Component archetype)
611: remote −> org.zkoss:zk-archetype-webapp (The ZK wepapp archetype)
612: remote −> ru.circumflex:circumflex-archetype (-)
613: remote −> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-)
614: remote −> sk.seges.sesam:sesam-annotation-archetype (-)
Choose a number or apply filter
(format: [groupId:]artifactId, case sensitive contains): 203:
Appuyez sur Entrée pour choisir l'option par défaut (203: maven-archetype-quickstart)
Maven demandera une version particulière de l'archétype.
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
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
Choose a number: 6:
Appuyez sur Entrée pour choisir l'option par défaut (6: maven-archetype-quickstart: 1.1)
Maven demandera les détails du projet. Entrez les détails du projet comme demandé. Appuyez sur Entrée si la valeur par défaut est fournie. Vous pouvez les remplacer en entrant votre propre valeur.
Define value for property 'groupId': : com.companyname.insurance
Define value for property 'artifactId': : health
Define value for property 'version': 1.0-SNAPSHOT:
Define value for property 'package': com.companyname.insurance:
Maven demandera la confirmation des détails du projet. Appuyez sur entrée ou appuyez sur Y.
Confirm properties configuration:
groupId: com.companyname.insurance
artifactId: health
version: 1.0-SNAPSHOT
package: com.companyname.insurance
Y:
Maintenant, Maven commencera à créer la structure du projet et affichera ce qui suit -
[INFO]-----------------------------------------------
[INFO] Using following parameters for creating project
from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO]-----------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.insurance
[INFO] Parameter: packageName, Value: com.companyname.insurance
[INFO] Parameter: package, Value: com.companyname.insurance
[INFO] Parameter: artifactId, Value: health
[INFO] Parameter: basedir, Value: C:\MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MVN\health
[INFO]-----------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO]-----------------------------------------------
[INFO] Total time: 4 minutes 12 seconds
[INFO] Finished at: Fri Jul 13 11:10:12 IST 2012
[INFO] Final Memory: 20M/90M
[INFO]-----------------------------------------------
Projet créé
Allez maintenant à C:\ > MVNannuaire. Vous verrez un projet d'application Java créé, nomméhealth, qui a été donné comme artifactIdau moment de la création du projet. Maven créera une disposition de répertoire standard pour le projet comme indiqué ci-dessous -
Créé POM.xml
Maven génère un fichier POM.xml pour le projet comme indiqué ci-dessous -
<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.companyname.insurance</groupId>
<artifactId>health</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>health</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Créé App.java
Maven génère un exemple de fichier source java, App.java pour le projet comme indiqué ci-dessous -
Emplacement: C:\ > MVN > health > src > main > java > com > companyname > insurance > App.java.
package com.companyname.insurance;
/**
* Hello world!
*
*/
public class App {
public static void main( String[] args ) {
System.out.println( "Hello World!" );
}
}
Créé AppTest.java
Maven génère un exemple de fichier de test source java, AppTest.java pour le projet comme indiqué ci-dessous -
Emplacement: C:\ > MVN > health > src > test > java > com > companyname > insurance > AppTest.java.
package com.companyname.insurance;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple App.
*/
public class AppTest extends TestCase {
/**
* Create the test case
*
* @param testName name of the test case
*/
public AppTest( String testName ) {
super( testName );
}
/**
* @return the suite of tests being tested
*/
public static Test suite() {
return new TestSuite( AppTest.class );
}
/**
* Rigourous Test :-)
*/
public void testApp() {
assertTrue( true );
}
}
Vous pouvez maintenant voir la puissance de Maven. Vous pouvez créer tout type de projet en utilisant une seule commande dans maven et démarrer votre développement.
Différents archétypes
N ° Sr. | Archétype ArtefactIds & Description |
---|---|
1 | maven-archetype-archetype Un archétype, qui contient un exemple d'archétype. |
2 | maven-archetype-j2ee-simple Un archétype, qui contient un exemple d'application J2EE simplifié. |
3 | maven-archetype-mojo Un archétype, qui contient un exemple d'un exemple de plugin Maven. |
4 | maven-archetype-plugin Un archétype, qui contient un exemple de plugin Maven. |
5 | maven-archetype-plugin-site Un archétype, qui contient un exemple de site de plugin Maven. |
6 | maven-archetype-portlet Un archétype, qui contient un exemple de portlet JSR-268. |
sept | maven-archetype-quickstart Un archétype, qui contient un exemple de projet Maven. |
8 | maven-archetype-simple Un archétype, qui contient un simple projet Maven. |
9 | maven-archetype-site Un archétype, qui contient un exemple de site Maven pour illustrer certains des types de documents pris en charge tels que APT, XDoc et FML et explique comment i18n votre site. |
dix | maven-archetype-site-simple Un archétype, qui contient un exemple de site Maven. |
11 | maven-archetype-webapp Un archétype, qui contient un exemple de projet Maven Webapp. |