dimanche 27 février 2011

Intégrer Maven à WTP

Nous avons vu dans les billets précédents comment Eclipse facilitait l'intégration d'un projet Web.

La limite de ce type de projet est qu'il devient alors difficile d'utiliser des outils tierces de gestion de projets tels que Maven. Nous allons donc voir comment intégrer maven à Eclipse au sein d'un projet Web.

Installation de IAM

Le principal reproche fait à maven est son intégration au sein des IDE. Il est vrai que les plugins disponibles sont, encore aujourd'hui, loin d'être complètement fonctionnels. Lors des phases de développement où nous allons utiliser eclipse, seule la gestion des dépendances est vraiment indispensable, le packaging, la génération des sites, les tests peuvent être fait indépendamment de l'IDE dans la mesure où ils ne sont pas nécessairement lancés à chaque modification de codes (ces tâches peuvent être dévolues à une usine d'intégration continue).

Nous allons donc voir dans ce billet comment utiliser Maven dans un projet Web Eclipse pour nous affranchir de la gestion des dépendances.

En matière de plugins, j'utilise Eclipse IAM (Eclipse Integration for Apache Maven), bien que le plugin M2Eclipse soit aussi apparemment correct.

La première étape consiste donc à installer le plugin Eclipse IAM depuis le MarketPlace. L'installation ne pose aucun problème. Nous installerons tous les modules du plugins.


 
Une fois le plugin installé, nous disposons d'un nouveau type de projet : Maven 2 Project Creation Wizard.

La principal problème des plugins Maven est leur gestion des messages d'erreurs. Pour ma part, j'ai pris l'habitude de tester mon POM à partir d'une ligne de commande et une fois mon projet correctement compilé sous un maven classique, l'intégration sous eclipse ne pose pas de problème.

Création d'un projet Maven

La création d'un nouveau projet ne pose pas de problème particulier :

Choisissons un projet Maven:


Puis spécifions lui un nom, très classiquement :


Il nous reste encore à définir un archetype Maven, pour cela, nous allons chercher ceux contenant le mot webapp : maven-archetype-webapp


La dernière étape consiste à spécifier l'artifact et le group Id de notre projet :


En cliquant sur Finish, notre projet est créé, nous obtenons l'arborescence suivante :



Nous avons donc bien ici affaire à un projet maven classique avec les répertoires src/main et src/test.

Le fichier pom.xml est lui aussi très classique :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>MavenWebApplication</groupId>
  <artifactId>MavenWebApplication</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>MavenWebApplication Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>MavenWebApplication</finalName>
  </build>
</project>


 Les librairies téléchargées par maven sont visibles dans la rubrique librairies du projet:


Intéressons-nous au fichier index.jsp présent dans le répertoire src/main/webapp :

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

Nous pouvons vérifier que notre programme fonctionne bien en ajoutant le projet à la liste des applications disponibles sur le serveur :


En lancant le serveur tomcat, la page est disponible à l'URL :  http://localhost:8080/MavenWebApplication/


Pour finir, il peut être utile de savoir où sont déployés les applications ajoutées au serveur d'application.

Pour cela, il faut se rendre dans le workspace et accéder au répertoire : .metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

Chaque application est recopiée dans un répertoire particulier


mardi 15 février 2011

Intégration de Tomcat

Intéressons-nous aujourd'hui au serveur d'application Tomcat. Certes, je vous l'accorde, Tomcat n'est pas un serveur d'application JEE mais un simple conteneur de servlet, mais reconnaissez que c'est plus rapide à écrire et plus simple à prononcer. Eclipse JEE propose un support natif de différents serveurs d'application. Nous allons étudier l'installation et la configuration pour Tomcat, mais la manipulation est exactement la même pour d'autres serveurs d'application.

Installation de Tomcat

La première étape est le téléchargement de tomcat. A la manière d'Eclipse, le téléchargement sur le site http://tomcat.apache.org/ et le dézippage du fichier  ne pose pas de problème particulier.

Il nous faut ensuite nous rendre dans les préférences d'Eclipse et choisir le menu server











En cliquant sur add, nous obtenons une fenêtre permettant de choisir le serveur d'application que nous souhaitons ajouter, ici, Apache Tomcat v7.0


La fenêtre suivante permet de spécifier le chemin d'installation de Tomcat ainsi que la JRE utilisée. Tomcat nécessite l'utilisation d'une JDK pour la compilation des JSP. Pensez donc à modifier la JRE d'Eclipse pour utiliser une JDK dans les préférences d'Eclipse (ou cliquez sur Installed JRE). Vous pouvez également choisir de pré-compiler vos JSP, mais ceci est une autre histoire.



Ne reste plus qu'à terminer l'assistant et notre serveur d'application est désormais paramétré.



La dernière étape consiste à créer un projet Web et à l'associer à notre serveur nouvellement installé.

Nous allons donc créer un nouveau projet de type Dynamic Web Project, que nous nommerons MyFirstWebApplication en spécifiant comme Target Runtime le serveur Tomcat.






































 Pour vérifier que notre serveur est correctement installé et que notre projet est correctement déployer, nous allons créer une page JSP (index.jsp) toute simple que nous allons mettre dans le répertoire WebContent de notre projet.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Titre</title>
</head>
<body>
    Hello World
</body>
</html>


Il ne nous reste plus qu'à associer ce nouveau projet à notre serveur Tomcat, pour celà, si ça n'est pas déjà le cas, passons sur la perspective J2EE et affichons la vue Servers. La première chose à faire est d'ajouter le serveur que nous venons de paramétrer. En faisant un clique droit sur la vue Servers, nous affichons le menu contextuelle suivant :

Une fenêtre comme celle-ci devrait s'ouvrir. Choississons Tomcat v7.0 dans la liste des types de serveur. Faisons également pointer le Server Runtime Environment vers le serveur Tomcat.


Notre serveur est désormais accessible sous Eclipse.


En réalisant un clic droit sur le serveur et en choisissant Add and Remove... nous avons la possibilité de spécifier les projets devant être déployés sous Tomcat.

Toujours sur la vue Servers, à droite, deux icônes permettent de lancer tomcat en mode debug ou normal.

Nous pouvons nous assurer que tout fonctionne bien en allant voir du coté de la console, si aucun message d'erreur ne s'affiche, c'est bon signe.


Ensuite, il ne reste qu'à se rendre sur notre navigateur préféré et d'entrer l'URL:

http://localhost:8080/MyFirstWebApplication/

Enfantin non ?

samedi 12 février 2011

Téléchargement et Installation d'Eclipse

Comme le disait ma maitresse de CM2, les bons ouvriers ont les bons outils ! J'ajouterai donc que les bons développeurs ont les bons IDE. En la matière, Eclipse fait référence, encore faut-il savoir l'utiliser correctement. L'objectif de cette série d'articles est donc de vous faire partager mon expérience sur l'utilisation d'Eclipse, de son installation à son utilisation au quotidien, en passant par les plugins que j'affectionne.

Téléchargement et installation d'Eclipse

En matière d'installation, difficile de faire plus simple, il suffit de télécharger Eclipse sur le site http://www.eclipse.org/downloads/ et de le dézipper dans le répertoire de son choix. Je vous conseille de télécharger directement la version Eclipse IDE for Java EE Developers afin de disposer de tous les outils de développement JEE. Mon 2ème conseil sera d'éviter d'installer Eclipse dans un répertoire dont le chemin comporte des espaces. Certains plugins rencontrent des problèmes lorsque ce cas de figure se présente.

La première étape, afin d'éviter des surprises lors des développements futurs est de bien configurer la JDK que nous allons utiliser. En effet, entre Eclipse, Maven, Tomcat et autres, il est important de conserver la même version de java sous peine d'obtenir des erreurs très difficiles à interpréter.

 Sous eclipse, se rendre dans les préférences et choisir une version du JDK



Il faut ensuite définir la variable d'environnement JAVA_HOME vers le même répertoire.

Voilà, votre environnement Eclipse est prêt à être utilisé !