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

Date de publication : 17 Avril 2009 , Date de mise à jour : 05 Dec 2009

Par Mohamed KARAMI (http://karamimed.developpez.com/)
 

Ce tutoriel a pour objectif, de montrer comment on peut débuguer 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.

               Version PDF (Miroir)   Version hors-ligne (Miroir)

I. Remerciements
II. Outils utilisés
III. Installation du plugin Maven sous Eclipse
IV. Configuration du plugin Jetty
V. Création du raccourcis " Run on Jetty "
VI. Création du raccourcis " Debug on Jetty "


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 : en Eclipse.org
  2. Maven 2.0.9 et le plugin Maven d'Eclipse : depuis l'outil de mise à jour d'Eclipse en M2eclipse.sonatype.org
  3. Serveur web Jetty 6.1.10 : téléchargeable sur le site : en Jetty.mortbay.org

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 optionnel (ils posent souvent des problèmes de compatibilité avec Eclipse).

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


IV. Configuration du plugin Jetty

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


	<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 raccourcis " Run on Jetty "

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

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

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

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
info 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.

Configuration de l'onglet Environment :

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.

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


VI. Création du raccourcis " Debug on Jetty "

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

On fait un click 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ébugger, et le port d'écoute 8000, afin de pouvoir s'attacher au projet qu'on a déjà démarré sur ce port.

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

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

warning Quand vous arrêtez le débuggeur, il se peut que le serveur Jetty reste démarré, pour l'arrêter, il faut utiliser le gestionnaire des taches 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 :


               Version PDF (Miroir)   Version hors-ligne (Miroir)

Valid XHTML 1.1!Valid CSS!

Copyright © 2009 Mohamed KARAMI. Aucune reproduction, même partielle, ne peut être faite de ce site et 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. Cette page est déposée.

 
 
 
 
Partenaires

Hébergement Web