Bienvenue
Jalios Community
Tout ce que vous souhaitez savoir sur l'écosystème Jalios
[info]Un document abordant la [[jx_73633][méthodologie de développement et de déploiement JCMS]] est désormais disponible. C'est le document de référence en terme de gestion de développement et de déploiement. [/info] Cet article est un mode opératoire d'installation d'Eclipse, de Tomcat et du plugin Sysdeo afin de créer un environnement propice au déploiement d'un projet JCMS.
Un document abordant la méthodologie de développement et de déploiement JCMS est désormais disponible. C'est le document de référence en terme de gestion de développement et de déploiement.
Configurer Eclipse pour bénéficier de la complétion automatique, du débuggage, et de ses autres fonctionnalités de base ne pose pas de problème particulier. Cependant, Eclipse seul ne permet de lancer que des applications Java (c’est-à-dire des classes avec une méthode main()
). Ce n'est pas le cas d'un projet JCMS, qui doit être exécuté dans un serveur d’application J2EE. Cet article explique comment lancer une webapp JCMS avec Tomcat et le plugin Sysdeo depuis Eclipse.
Voici la liste des composants que nous allons installer et utiliser :
Les liens pour récupérer ces distributions sont disponibles à la fin de cet article. Par ailleurs, un J2SDK 1.4.2 ou 1.5.0 doit être installé.
Le mode opératoire est détaillé sous Windows, la procédure est similaire sous Linux.
Nous allons installer Tomcat, Eclipse et le plug in Sysdeo dans un répertoire C:\EclipseJCMS
, puis créer un Workspace Eclipse C:\EclipseJCMS\Workspace
dans lequel nous allons installer JCMS, de manière à ce qu’il puisse être pris en compte par Eclipse et le plugin Sysdeo. Nous allons enfin créer un fichier de configuration de Tomcat spécifique à notre utilisation et le faire prendre en compte par le plugin.
Décompresser le fichier zip d’installation de Tomcat directement sous C:\EclipseJCMS
. Cela créé un répertoire C:\EclipseJCMS\jakarta-tomcat-5.0.28
.
C:\EclipseJCMS
. Cela créé un répertoire C:\EclipseJCMS\eclipse
.C:\EclipseJCMS\Workspace
.C:\EclipseJCMS\eclipse\eclipse.exe
).C:\EclipseJCMS\eclipse\plugins
.C:\EclipseJCMS\jakarta-tomcat-5.0.28
de Tomcat.Nous allons créer un fichier de configuration de Tomcat server.xml
spécifique à notre Workspace, de manière à pouvoir utiliser la même installation de Tomcat pour plusieurs usages.
C:\EclipseJCMS\jakarta-tomcat-5.0.28\conf\server.xml
dans C:\EclipseJCMS\Workspace
.Le fichier server.xml
doit être modifié en raison de l’encodage en UTF-8 utilisé depuis JCMS 5.5. Pour cela :
Coyote
et ajouter l’attribut suivant : URIEncoding="UTF-8"
.Pour ne pas avoir d’impact avec les webapps livrées par défaut dans Tomcat, modifier également la valeur de l’attribut name
de l’élément Engine
(par exemple : EclipseJCMS-Workspace
), et dans l’élément Host
, mettre un espace à la valeur de l’attribut appBase
.
C:\EclipseJCMS\Workspace\server.xml
et valider.Tomcat, Eclipse et le plugin Sysdeo sont maintenant installés.
Créer un répertoire C:\EclipseJCMS\Workspace\ProjetTomcatJCMS
et un sous répertoire jcms-5.6.0-ee-fr
dans lequel décompresser le contenu de JCMS 5.6.
Dans Eclipse, créer un nouveau Projet Tomcat, avec comme nom ProjetTomcatJCMS
. Cliquez sur Next.
Comme sous répertoire racine de l’application web, saisisser jcms-5.6.0-ee-fr
et comme context-path jcms
. Valider.
Le projet Tomcat est créé. Les librairies .jar
sont reconnues et intégrées dans le classpath du projet, ainsi que les classes dans différents répertoires. Dans les propriétés du projets, section Java Build Path, onglet sources il ne faut garder que le répertoire jcms-5.6.0-ee-fr/WEB-INF/classes
.
Sur le projet, faire un click droit, puis, dans le sous-menu contextuel Projet Tomcat, cliquer sur Mise à jour du contexte.
Le lancement de JCMS se fait par l’utilisation de l’icône . Consulter les traces du lancement de JCMS dans la fenêtre console d'Eclipse et accéder à l’application par http://127.0.0.1:8080/jcms.
Ajouter une servlet DebugServlet
dans le package custom
de cette webapp :
package custom; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DebugServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("Hi there !"); } }
Déclarer la servlet dans le fichier web.xml
.
<SERVLET> <SERVLET-NAME>DebugServlet</SERVLET-NAME> <SERVLET-CLASS>custom.DebugServlet</SERVLET-CLASS> </SERVLET> <SERVLET-MAPPING> <SERVLET-NAME>DebugServlet</SERVLET-NAME> <URL-PATTERN>/DebugServlet</URL-PATTERN> </SERVLET-MAPPING>
Exécuter la servlet par l'URL : http://127.0.0.1:8080/jcms/DebugServlet, ce qui donne un affichage du texte "Hi there !".
On peut ensuite ajouter un point d’arrêt (en anglais breakpoint) dans le code de la méthode doGet()
de la servlet :
Si l'on appelle à nouveau la servlet, le traitement de la requête est bloqué au niveau d'Eclipse qui nous propose de passer dans la perspective Debug.
La perspective Debug comporte les éléments suivants :
(cliquer sur l'image pour l'agrandir)
A partir de là, on peut débuguer classiquement.
A noter que le plugin Sysdeo ne permet pas de faire du "Remplacement de code à chaud" (traduction littérale de "Hot code replacement"), comme le propose par exemple MyEclipse. C'est-à-dire que si le code d'une classe est modifié, le plugin SYSDEO redémarre la webapp avant de pouvoir continuer l'exécution du code.
Nous avons retenu le plugin Sysdeo, pour les raisons suivantes :
Bien qu'il :
Parmi les autres plugins interprétant des webapps J2EE, citons :