| Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide Consultez : | ![]() |
Pour commencer un nouveau projet Maven, utilisez le plugin Maven Archetype depuis la ligne de commande.
Exécutez le goal archetype:generate, sélectionnez l'archetype numéro 15, et tapez "Y" pour
confirmer et produire le nouveau projet :
$ mvn archetype:generate -DgroupId=org.sonatype.mavenbook.simple \ -DartifactId=simple \ -DpackageName=org.sonatype.mavenbook \ -Dversion=1.0-SNAPSHOT [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 [INFO] No goals needed for project - skipping [INFO] Setting property: velocimacro.messages.on => 'false'. [INFO] Setting property: resource.loader => 'classpath'. [INFO] Setting property: resource.manager.logwhenfound => 'false'. [INFO] [archetype:generate {execution: default-cli}] [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: ... 12: internal -> maven-archetype-mojo (A Maven Java plugin development project) 13: internal -> maven-archetype-portlet (A simple portlet application) 14: internal -> maven-archetype-profiles () 15: internal -> maven-archetype-quickstart () 16: internal -> maven-archetype-site-simple (A simple site generation project) 17: internal -> maven-archetype-site (A more complex site project) 18: internal -> maven-archetype-webapp (A simple Java web application) 19: internal -> jini-service-archetype (Archetype for Jini service project creation) Choose a number: (...) 15: : 15 Confirm properties configuration: groupId: org.sonatype.mavenbook.simple artifactId: simple version: 1.0-SNAPSHOT package: org.sonatype.mavenbook.simple Y: : Y ... [INFO] Parameter: groupId, Value: org.sonatype.mavenbook.simple [INFO] Parameter: packageName, Value: org.sonatype.mavenbook.simple [INFO] Parameter: package, Value: org.sonatype.mavenbook.simple [INFO] Parameter: artifactId, Value: simple [INFO] Parameter: basedir, Value: /private/tmp [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] BUILD SUCCESSFUL
La commande mvn correspond à l'instruction d'exécution de Maven 2.
L'élément archetype:generate correspond à un goal Maven. Si vous connaissez Apache Ant, un goal Maven est analogue à une target Ant ; tous les deux décrivent une unité de tâche à
accomplir lors d'un build. La paire -Dname=value représente un argument passé au goal sous la
forme de propriété -D, comme pour les propriétés système que vous pourriez passer à la Machine
Virtuelle Java via la ligne de commande. Le but du goal archetype:generate est de créer
rapidement un projet à partir d'un archétype. Dans ce contexte, un archétype se défini comme "un modèle original ou idéal d'après lequel sont bâtis un ouvrage, une
œuvre ; un prototype[2]". Il existe un grand nombre d'archétypes disponibles pour Maven, depuis une simple application Swing
jusqu'à une application web complexe. Le goal archetype:generate propose de choisir parmi environ
40 archétypes. Dans ce chapitre, nous allons utiliser l'archétype le plus basique pour créer un simple squelette
de projet permettant de démarrer. Le préfixe archetype correspond au plugin, et generate
correspond au goal.
Une fois ce projet généré, allons regarder la structure de répertoire Maven qui a été créée sous le répertoire simple.
simple/simple/pom.xml
/src/ /src/main/
/main/java /src/test/
/test/java
Ce répertoire suit les recommandations de la disposition Maven standard des répertoires. Nous détaillerons cela plus tard dans ce chapitre, pour l'instant essayons de comprendre ces quelques répertoires :
Le plugin Maven Archetype a produit une classe unique
org.sonatype.mavenbook.App, qui contient 13 lignes de Java avec une
fonction statique main qui affiche un message :
package org.sonatype.mavenbook;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
Le plus simple des archétypes Maven produit le programme le plus simple possible : un programme qui affiche "Hello World!" sur la sortie standard.