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.4. Configurer le plugin Jetty

    Une fois que vous avez compilé, testé et packagé votre application, vous allez vouloir la déployer dans un conteneur de Servlet et tester la page index.jsp qui a été créée par le plugin Maven Archetype. Normalement, cela implique de télécharger un serveur comme Jetty ou Apache Tomcat, décompresser la distribution, copier votre fichier WAR dans un répertoire webapps/ et ensuite démarrer le conteneur. Bien que vous puissiez procéder ainsi, ce n'est pas nécessaire. À la place, vous pouvez utiliser le plugin Maven Jetty pour exécuter votre application web avec Maven. Pour ce faire, vous allez devoir configurer le plugin Maven Jetty dans le fichier pom.xml de votre projet. Ajoutez l'élément plugin à votre configuration de build comme le montre l'exemple ci-dessous :

    Exemple 5.3. Configurer le plugin Jetty

    <project>
      [...]
      <build>
        <finalName>simple-webapp</finalName>
        <plugins>
          <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
      [...]
    </project>

    Une fois que vous avez configuré le plugin Maven Jetty dans le pom.xml de votre projet, vous pouvez invoquer son goal run pour démarrer votre application web dans le conteneur de Servlet Jetty. Exécutez la commande mvn jetty:run à partir du répertoire du projet simple-webapp/ de la manière suivante :

    ~/examples/ch-simple-web/simple-webapp $ mvn jetty:run
    ...
    [INFO] [jetty:run]
    [INFO] Configuring Jetty for project: simple-webapp Maven Webapp
    [INFO] Webapp source directory = \
           ~/svnw/sonatype/examples/ch-simple-web/simple-webapp/src/main/webapp
    [INFO] web.xml file = \
     ~/svnw/sonatype/examples/ch-simple-web/\
    simple-webapp/src/main/webapp/WEB-INF/web.xml
    [INFO] Classes = ~/svnw/sonatype/examples/ch-simple-web/\
    simple-webapp/target/classes
    2007-11-17 22:11:50.532::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
    [INFO] Context path = /simple-webapp
    [INFO] Tmp directory =  determined at runtime
    [INFO] Web defaults = org/mortbay/jetty/webapp/webdefault.xml
    [INFO] Web overrides =  none
    [INFO] Webapp directory = \
           ~/svnw/sonatype/examples/ch-simple-web/simple-webapp/src/main/webapp
    [INFO] Starting jetty 6.1.6rc1 ...
    2007-11-17 22:11:50.673::INFO:  jetty-6.1.6rc1
    2007-11-17 22:11:50.846::INFO:  No Transaction manager found
    2007-11-17 22:11:51.057::INFO:  Started SelectChannelConnector@0.0.0.0:8080
    [INFO] Started Jetty Server
    

    Avertissement

    Si vous utilisez le plugin Maven Jetty à partir d'un environnement Windows, vous devrez probablement déplacer votre dépôt local dans un répertoire qui ne contient pas d'espaces. Des lecteurs nous ont remonté des problèmes lors du démarrage de Jetty car leur dépôt local était stocké dans le répertoire "C:\Documents and Settings\<user>". La solution pour régler ce problème est de déplacer votre dépôt local Maven dans un répertoire qui ne contient pas d'espaces et de redéfinir son emplacement dans le fichier ~/.m2/settings.xml comme décrit dans la Section A.2.1, « Valeurs simples ».

    Une fois que Maven a démarré le conteneur de servlet Jetty, ouvrez l'URL http://localhost:8080/simple-webapp/ dans un navigateur web. La page index.jsp générée par l'Archetype est triviale ; elle contient un titre de second niveau avec le texte "Hello World!". Maven s'attend à ce que la racine du site web soit dans src/main/webapp. C'est dans ce répertoire que vous trouverez le fichier index.jsp utilisé dans l'Exemple 5.4, « Contenu de src/main/webapp/index.jsp ».

    Exemple 5.4. Contenu de src/main/webapp/index.jsp

    <html>
      <body>
        <h2>Hello World!</h2>
      </body>
    </html>

    Dans src/main/webapp/WEB-INF, nous allons trouver le plus petit descripteur d'application web.xml imaginable, présenté dans l'exemple suivant :

    Exemple 5.5. Contenu de src/main/webapp/WEB-INF/web.xml

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
    </web-app>