vers l'accueil formulaire de contact

Tutoriel Maven N°8 : profils et filtrage de ressources

Votre formation MAVEN avec Objis, spécialiste formation java depuis 2005Maîtrisez la notion de profil Maven. Générez dynamiquement les fichiers de propriétés en fonction d’un environnement cible (DEV, TEST, PROD). Comprenez la technique de filtrage de ressources

Ce tutoriel est un extrait de séances pratiques de la formation MAVEN dispensée par Objis.

Les + objis
- 70% de travaux pratiques
- Clé USB avec tous les outils utilisés + Corrigés TPs
- Bilan pédagogique individuel + conseils
- Nos tutoriaux pour vous initier

Liens utiles

- Page officielle des plugins Maven
- Guide développement de plugin Maven
- Guide configuration de plugin Maven
- Page officielle sur les Profils MAVEN

Prérequis, outils et versions

- Tutoriel Maven N°1 : Installation Maven

Objectifs

- Comprendre la gestion dépendances d’un projet multi-modules
- Comprendre les déclaration de dépendances

Liens utiles

- + de 100 tutoriaux java/jee Objis
- Tutoriaux et formation MAVEN

Programme

- Partie 1 : configuration filtrage de ressources
- Partie 2 : création fichier settings.xml personnalisé
- Partie 3 : déclaration des profils DEV, TEST, PROD

Durée

- 30min

Contexte

Vous souhaitez générez dynamiquement les fichiers de propriétés (ex : db.properties) d’une application en fonction d’un profil cible (ex : db dév, db test, db prod).

Partie 1 : Filtrage des ressources

- Créez une section (balise) ’build’ dans le pom.xml du module dao
- Créez section ’resources’ dans la section ’build’ crée ci-dessus
- Créez un répertoire ’resources’ dans le module dao :
— mkdir src/main/resources

- Ajoutez les éléments suivants dans pom.xml du module d’accès aux données (monappli-dao).

PNG - 6.8 ko
tutoriel-maven-profil-filtrage-ressources-1

Ici nous avons activé le filtrage des ressources, qui permet par exemple de générer dynamiquement le contenu du fichier de propriété src/main/resources/db.properties , correspondant aux informations de connexion à la base de données.

Créez dans le répertoire resources un fichier db.properties ayant le contenu suivant :

PNG - 3.4 ko
tutoriel-maven-profil-filtrage-ressources-4
Zip - 179 octets
db.properties

Suivant l’environnement cible choisi pour la base de données (dev , test, prod), le fichier sera modifié dans target/classes/db.properties de façon à correspondre à des informations réelles de l’environnement cible. :

Cela dépend de la section du fichier settings.xml global ou local à chaque utilisateur (ou du fichier conf/settings.xml global de MAVEN).

Parie 2 : fichier settings.xml personnalisé

- Copier / Coller le fichier M2_HOME/conf/settings.xml dans USER_HOME/.m2

Cela permet d’avoir une configuration spécifique à l’utilisateur, dans laquelle il pourra mettre des informations sensibles type login/pwd pour serveurs applicatifs ou serveurs de déploiement livraisons.

- Supprimez le contenu interne à la balise principale

PNG - 15.5 ko
tutoriel-maven-profil-filtrage-ressources-2

Bases de données de développement et de test

Ci-dessous 2 profils sont configurés (id=dev et id=test), chacun avec une base de données particulière.

PNG - 36 ko
tutoriel-maven-profil-filtrage-ressources-3
XML - 855 octets
settings

Profil par défaut

En utilisant la documentation MAVEN, expliquez le role des balises activeProfiles / activeProfile

- Configurez votre settings.xml afin que ce soit la base de données de développement qui soit choisie par défaut lors d’un mvn compile.

- Validez que le fichier target\classes\db.properties a le contenu suivant :

— db.driver=com.mysql.jdbc.Driver
— db.url= jdbc:mysql ://localhost/dbdev
— db.username= root
— db.password=

Activation de la base de test

Pour utiliser la base de données du profile id=test, lancer mvn install -Ptest QUESTION : Quel impact sur le fichier db.properties ?

Pour lancer l’option debug de Maven (-X) : lancer mvn install -Ptest -X

INFO : il est possible de définir des profiles dans pom.xml ou dans settings.xml.

Pour connaître les differents profils présents, lancez mvn help:active-profiles

Conclusion

Dans ce tutoriel, vous avez mis en oeuvre la notion de profil maven et la technique de filtrage de ressources.

Formation MAVEN 2011

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur et chef de projet MAVEN :

Votre formation MAVEN avec Objis, spécialiste formation java depuis 2005

Pour aller plus loin : le réseau Objis

Si vous appréciez notre sens du partage, devenez gratuitement membre ’classic’ du Club Objis :
- Votez pour les prochains tutoriaux à publier
- Préparez vos entretiens techniques
- Valorisez votre profil / expertise
- Identifiez des opportunités d’emploi
- Recevez la newsletter objis.com