IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Déboguer une application web avec Maven et Jetty sous Eclipse

Ce tutoriel a pour objectif de montrer comment on peut déboguer une application web déployée en utilisant Maven et Jetty sous Eclipse, ceci facilitera largement la vie des développeurs qui s'amusent à utiliser Maven et Jetty en ligne de commande.

2 commentaires Donner une note à l´article (4.5)

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Remerciements

Merci à ram-0000 pour sa relecture, à bbil pour son aide concernant la génération de la version PDF, et à Nono40 réalisateur de l'éditeur XML.

II. Outils utilisés

  1. Eclipse Ganymede 3.4.2 : téléchargeable sur le site officiel : Eclipse.orgEclipse IDE for Java EE Developers.
  2. Maven 2.0.9 et le plugin Maven d'Eclipse : depuis l'outil de mise à jour d'Eclipse M2eclipse.sonatype.orgMaven Integration for Eclipse.
  3. Serveur web Jetty 6.1.10 : téléchargeable sur le site : Jetty.mortbay.orgJetty.

III. Installation du plugin Maven sous Eclipse

Pour installer le plugin Maven sous Eclipse, utiliser le menu « Help => Software Update => Find and install… => Search for new features to install ».

Ajouter un nouveau site via « New remote site » et saisir l'URL : http://m2eclipse.sonatype.org/update/ avec comme nom Maven2, et suivre les instructions d'installation. Ignorer les packages optionnels (ils posent souvent des problèmes de compatibilité avec Eclipse).

Pour plus d'information l'installation de Maven, voir le lien suivant : Installation de Maven.

IV. Configuration du plugin Jetty

Il faut renseigner jetty comme plugin dans le fichier « pom.xml » du projet :

 
Sélectionnez
    <plugins>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.10</version>
            <configuration>
                <scanIntervalSeconds>10</scanIntervalSeconds>
            </configuration>
        </plugin>
    </plugins>

V. Création du raccourci « Run on Jetty »

À l'aide du menu « Open External Tools Dialog », on peut ajouter un nouveau menu qui permet de lancer une application externe à Eclipse.

Image non disponible

On sélectionne l'onglet « Main », et on renseigne les informations de l'outil à ajouter :

Image non disponible

Dans cet onglet on spécifie le dossier d'installation de Maven (le fichier mvn.bat), la racine de l'application à déboguer, et la commande de lancement du serveur Jetty.

Configuration de l'onglet Main :
Sélectionnez
Location = C:\Program Files\apache-maven-2.0.9\bin\mvn.bat
Working directory = ${workspace_loc:/mon_projet}
Arguments = jetty:run-war -Dmaven.test.skip=true

L'option « -Dmaven.test.skip=true » permet d'ignorer les tests unitaires.

Dans cet onglet, il faut déclarer les deux variables d'environnement, JAVA_HOME pour le dossier d'installation du JDK et les options de débogage.

Image non disponible
Configuration de l'onglet Environment :
Sélectionnez
JAVA_HOME = C:\Program Files\Java\jdk1.5.0_16
MAVEN_OPTS = -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000

On peut lancer le serveur, à l'aide du bouton « Run », maintenant le serveur est en écoute, mais ceci n'est pas suffisant, il faut l'attacher un débogueur.

Image non disponible

Le serveur est maintenant en écoute sur le port 8000.

VI. Création du raccourci « Debug on Jetty »

Sur le menu « Debug », on ouvre l'écran « Debug Dialog/Configuration » :

Image non disponible

On fait un clic droit sur le nœud « Remote Java application », et on crée un nouveau nœud « Maven Debug », on spécifie le nom du projet à déboguer, et le port d'écoute 8000, afin de pouvoir s'attacher au projet qu'on a déjà démarré sur ce port.

Image non disponible

Vous pouvez maintenant lancer le débogage en cliquant sur le bouton « Debug ».

Image non disponible

Une fois le débogage terminé, vous pouvez l'arrêter via le bouton en Rouge indiqué sur l'image ci-dessus.

Quand vous arrêtez le débogueur, il se peut que le serveur Jetty reste démarré, pour l'arrêter, il faut utiliser le gestionnaire des tâches et supprimer le processus « java.exe », et si vous essayez de relancer le serveur alors que le processus n'est pas arrêté vous aurez le message suivant :

Image non disponible

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2009 Mohamed KARAMI. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.