Comment déployer un fichier war basé sur Maven sur Tomcat

Dans ce didacticiel, nous allons vous montrer comment utiliser le Maven-Tomcat plug-in pour mettre en package et déployer un fichier WAR sur Tomcat, à la fois dans Tomcat 6 et 7.

Bibliothèques utilisées:

  1. Maven 3

  2. Tomcat 6.0.37

  3. Tomcat 7.0.53

1. Exemple de Tomcat 7

Cet exemple montre comment mettre en package et déployer un fichier WAR sur Tomcat 7.

  • 1.1 Authentification Tomcat ** Ajoutez un utilisateur avec les rôles manager-gui et` manager-script`.

% TOMCAT7__PATH%/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>

    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="admin" password="password" roles="manager-gui,manager-script"/>

</tomcat-users>
  • 1.2 Authentification Maven ** Ajoutez au-dessus de l’utilisateur Tomcat dans le fichier de paramètres Maven. Maven utilisera ultérieurement cet utilisateur pour se connecter au serveur Tomcat.

% MAVEN__PATH%/conf/settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
    <servers>

        <server>
            <id>TomcatServer</id>
            <username>admin</username>
            <password>password</password>
        </server>

    </servers>
</settings>
  • 1.3 Tomcat7 Maven Plugin ** Déclare un plugin Maven Tomcat.

pom.xml

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
            <url>http://localhost:8080/manager/text</url>
            <server>TomcatServer</server>
            <path>/mkyongWebApp</path>
        </configuration>
    </plugin>
  • Comment ça marche? ** Pendant le déploiement, il demande à Maven de déployer le fichier WAR sur le serveur Tomcat via «http://localhost: 8080/manager/text», sur le chemin «/mkyongWebApp», en utilisant «TomcatServer» (dans les paramètres. xml) nom d’utilisateur et mot de passe pour l’authentification.

  • 1.4 Déployer sur Tomcat ** Commandes pour manipuler le fichier WAR sur Tomcat.

mvn tomcat7:deploy
mvn tomcat7:undeploy
mvn tomcat7:redeploy

Exemple

> mvn tomcat7:deploy

...

[INFO]Deploying war to http://localhost:8080/mkyongWebApp

Téléchargement: http://localhost: 8080/manager/text/deploy? Path =% 2FmkyongWebApp

[INFO]tomcatManager status code:200, ReasonPhrase:OK

[INFO]OK - Deployed application at context path/mkyongWebApp

[INFO]------------------------------------------------------------------------

[INFO]BUILD SUCCESS

[INFO]------------------------------------------------------------------------

[INFO]Total time: 8.507 s

[INFO]Finished at: 2014-08-05T11:35:25+08:00

[INFO]Final Memory: 28M/308M

[INFO]------------------------------------------------------------------------

maven-war-file-deploy-tomcat7 === 2. Tomcat 6 Example

This example shows you how to package and deploy a WAR file on Tomcat 6. The steps are same with Tomcat 7, just the deploy url and command name are different.

2.1 Tomcat Authentication

%TOMCAT6__PATH%/conf/tomcat-users.xml

<? xml version = '1.0' encoding = 'utf-8'?> <utilisateurs de tomcat>

<role rolename = "manager-gui"/> <role rolename = "manager-script"/> <utilisateur nomutilisateur = "admin" mot de passe = "mot de passe" roles = "gestionnaire-gui, manager-script"/>

</tomcat-users>

2.2 Authentification Maven

% MAVEN__PATH%/conf/settings.xml

<? xml version = "1.0" encoding = "UTF-8"?> <paramètres ...> <serveurs> <serveur> <id> TomcatServer </id> <nom d'utilisateur> admin </nom d'utilisateur> <mot de passe> mot de passe </mot de passe> </server>

</serveurs>
</settings>

2.3 Tomcat6 Maven Plugin

pom.xml

<plugin>
        <groupId> org.apache.tomcat.maven </groupId>
        <artifactId> tomcat6-maven-plugin </artifactId>
        <version> 2.2 </version>
        <configuration>
            <url> http://localhost: 8080/manager </url>
            <serveur> TomcatServer </server>
            <chemin>/mkyongWebApp </chemin>
        </configuration>
    </plugin>

2.4 Déployer sur Tomcat

mvn tomcat6: deploy
mvn tomcat6: annuler le déploiement
mvn tomcat6: redéployer

Exemple

> mvn tomcat6: deploy

...[INFO]Deploying war to http://localhost:8080/mkyongWebApp
Uploading: http://localhost:8080/manager/deploy?path=%2FmkyongWebApp
Uploaded: http://localhost:8080/manager/deploy?path=%2FmkyongWebApp (13925 KB at 32995.5 KB/sec)
[INFO]------------------------------------------------------------------------[INFO]BUILD SUCCESS[INFO]------------------------------------------------------------------------[INFO]Total time: 22.652 s[INFO]Finished at: 2014-08-05T12:18:54+08:00[INFO]Final Memory: 30M/308M[INFO]------------------------------------------------------------------------

Références

Application Tomcat 7 Manager: guide pratique]. http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html [Apache

Application Tomcat 6 Manager: guide pratique]. Tomcat Maven Plugin

Plugin Maven - Objectifs contextuels]

lien://tag/maven/[maven]lien://tag/tomcat/[tomcat]lien://tag/war/[war]