Introduction à Apache Maven et Apache Archiva par Jean-Sébastien FRANCK

Cas pratiques

Cette partie présente plusieurs cas pratiques qui vous permettront de prendre en main plus facilement l'utilisation de Apache Maven et de Apache Archiva. Les cas pratiques en vidéo ont été créés avec Wink. Cas pratiques traités :

Création d'un projet Maven sous eclipse, et ajout d'une dépendance

Cette vidéo présente comment créer un projet Maven sous eclipse en quelques clics. Une fois le projet créé, une dépendance est ajoutée au projet puis automatiquement téléchargée dans le repository local du client (~/.m2/repository).

voir la vidéo

Téléchargement d'une dépendance à partir d'un repository Archiva

Cette vidéo présente la configuration du fichier settings.xml de telle sorte à ce que le téléchargement de dépendance se fasse à partir d'un serveur Archiva donné, puis montre le téléchargement de la dépendance.

voir la vidéo

Voici un fichier similaire au fichier settings.xml utilisé dans la démonstration : settings.xml

Déploiement d'un artifact sur un repository Archiva

Cette vidéo présente la configuration d'un projet Maven pour déployer un artifact sur un repository Archiva, montre comment exécuter la tâche deploy depuis eclipse, met en évidence le fait que les tests unitaires Junit sont également lancés lors de cette tâche, et enfin montre le résultat du déploiement au niveau de l'interface web du serveur Archiva.

voir la vidéo

Pour déployer un artifact sur un serveur Archiva, il faut rajouter des lignes similaires aux suivantes dans le fichier pom.xml du projet Maven correspondant :

<distributionManagement>
  <snapshotRepository>
    <id>snapshots</id>
    <url>dav:http://localhost:8181/archiva/repository/snapshots/</url>
  </snapshotRepository>
  <repository>
    <id>internal</id>
    <url>dav:http://localhost:8181/archiva/repository/internal/</url>
  </repository>
</distributionManagement>

Utilisation et écriture d'un plugin Maven

L'écriture d'un plugin Maven vous permet d'intégrer très facilement l'exécution de votre propre code Java dans le cycle de vie de votre projet Maven.

Par exemple, le plugin Cargo permet de déployer votre artifact automatiquement sur un serveur d'application. A l'heure où j'ai rédigé cette présentation de Maven, ce plugin n'offrait pas la possibilité d'interagir avec un serveur d'application Glassfish distant. J'ai donc écrit un plugin permettant de copier l'artifact .ear ou .war sur la machine distante par ssh, puis de le déployer automatiquement sur le serveur Glassfish de la même machine, et tout ça directement à l'exécution de la tâche deploy du cycle de vie de Maven. L'intérêt d'écrire un plugin est donc double. Vous pouvez exécuter votre propre code, et vous pouvez l'intégrer au cycle de vie de votre projet.

Ecrire un plugin

Pour écrire un plugin, vous devez tout d'abord créer un projet Maven dont le packaging est "maven-plugin". Vous devez ensuite écrire une classe Java par tâche/goal à écrire pour le plugin.

Chacune des ces classes doit hériter de la classe AbstractMojo. Ci-dessous un exemple de ce type de classe :

Bien entendu, l'exécution de ce code n'offre rien au développeur, mais il met bien en avant les possibilités offertes lors de l'écriture d'un plugin :

Utiliser un plugin

L'intégration de son propre plugin ou d'un plugin existant au cycle de vie d'un projet Maven se fait dans le fichier pom.xml. Voici un exemple d'utilisation du plugin précédemment créé :

Cette configuration fait que la tâche "deployOnGlassfish" du plugin "demoPlugin:glassfishPlugin:1.0" sera automatiquement exécutée après l'exécution de la tâche package du projet Maven correspondant.

Les paramètres integerParameter et stringParameter sont renseignés dans la partie configuration du plugin.



Bibliographie >>