Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide
Consultez :
  • Les documents de reference sur le projet original
  • Les sources de la traduction fr sur GitHub
  • maven


    5.3. Création du projet web simple-web

    Pour créer votre projet d'application web, exécutez la commande mvn archetype:generate en précisant un artifactId et un groupId. Paramétrez l'archetypeArtifactId à maven-archetype-webapp. L'exécution de cette commande va créer la structure des répertoires appropriée et le POM Maven :

    $ mvn archetype:generate -DgroupId=org.sonatype.mavenbook.simpleweb \
                             -DartifactId=simple-webapp \
                             -DpackageName=org.sonatype.mavenbook \
                             -Dversion=1.0-SNAPSHOT
    ...
    [INFO] [archetype:generate {execution: default-cli}]
    Choose archetype:
    ...
    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)
    ...
    Choose a number:  (...) 15: : 18
    Confirm properties configuration:
    groupId: org.sonatype.mavenbook.simpleweb
    artifactId: simple-webapp
    version: 1.0-SNAPSHOT
    package: org.sonatype.mavenbook.simpleweb
     Y: : Y
    [INFO] Parameter: groupId, Value: org.sonatype.mavenbook.simpleweb
    [INFO] Parameter: packageName, Value: org.sonatype.mavenbook.simpleweb
    [INFO] Parameter: package, Value: org.sonatype.mavenbook.simpleweb
    [INFO] Parameter: artifactId, Value: simple-webapp
    [INFO] Parameter: basedir, Value: /private/tmp
    [INFO] Parameter: version, Value: 1.0-SNAPSHOT
    ...
    [INFO] BUILD SUCCESSFUL
    

    Une fois que le plugin Maven Archetype a généré le projet, ouvrez le répertoire simple-web et regardez le fichier pom.xml. Vous devriez voir le document XML présenté dans l'exemple suivant :

    Exemple 5.1. POM initial du projet simple-web

    <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>org.sonatype.mavenbook.simpleweb</groupId>
      <artifactId>simple-webapp</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>simple-webapp 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>simple-webapp</finalName>
      </build>
    </project>

    Ensuite, vous allez devoir configurer le plugin Maven Compiler pour utiliser Java 5. Pour cela, ajoutez l'élément plugins au POM initial comme décrit dans l'Exemple 5.2, « POM du projet simple-web avec la configuration du compilateur ».

    Exemple 5.2. POM du projet simple-web avec la configuration du compilateur

    <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>org.sonatype.mavenbook.simpleweb</groupId>
      <artifactId>simple-webapp</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>simple-webapp 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>simple-webapp</finalName>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <source>1.5</source>
              <target>1.5</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </project>

    Notez que l'élément packaging contient la valeur war. Ce type de packaging permet de configurer Maven pour produire une archive WAR. Un projet avec le packaging war va produire un fichier WAR dans le répertoire target/. Le nom par défaut de ce fichier est ${artifactId}-${version}.war. Dans ce projet, le WAR par défaut serait donc target/simple-webapp-1.0-SNAPSHOT.war. Dans le projet simple-webapp, nous avons personnalisé le nom du fichier WAR généré en ajoutant l'élément finalName dans la configuration du build. En précisant simple-webapp comme valeur de finalName, la phase package produit le fichier WAR target/simple-webapp.war.