Tutoriel Maven N°6 : filtrage de ressources et profils

////Tutoriel Maven N°6 : filtrage de ressources et profils

Avec Objis, spécialiste formation MAVEN (3j) et formation intégration continue (5j),
, maî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

Prérequis, outils et versions

 Tutoriel Maven N°1 : Installation Maven

Objectifs

 Comprendre le filtrage de ressource et les profils Maven

Programme

 Contexte

 Partie 1 : activer le filtrage de ressources

 Partie 2 : création fichier settings.xml personnalisé

 Partie 3 : déclaration des profils DEV, TEST, PROD

Durée

 30min

PUBLICITE : votre formation ‘Intégration continue’ avec Objis

formation-integration-continue-usine-logicielle-objis-maillons

Contexte

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

Partie 1 : Activation du filtrage des ressources

 Créez une section (balise) ‘build’ dans le pom.xml du module dao

 Créez une 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).

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 :

tutoriel-maven-profil-filtrage-ressources-4

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

lancez une compilation du DAO ainsi : mvn compile -Ddb.url=jdbc:mysql://localhost/dbdev

tutoriel-maven-filtrage-1

Quel impact sur le fichier db.properties généré dans targetclasses ?

tutoriel-maven-filtrage-2

Partie 2 : Profils

Les profils permettent de :

— 1) définir un ensemble de valeurs poour les variables dynamiques

— 2) modifier la configuration du POM

Un profil peut être défini dans le pom.xml ou dans le settings.xml.

 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

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.

tutoriel-maven-profil-filtrage-ressources-3

settings

Profil par défaut

Analysez la configuration suivante :

tutoriel-maven-profil-par-defaut

En utilisant la documentation MAVEN, expliquez le role des balises activation, activateByDefault

 Montrez que ce settings.xml implique que la base de données de développement qui soit choisie par défaut lors d’un mvn compile.

 Validez que le fichier targetclassesdb.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

Bonne Pratique de Filtrage

Reproduisez la bonne pratique sur le filtrage montré durant le cour ce matin qui consiste à faire un fichier filtre pour chaque environnement.

Conclusion

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

PUBLICITE : votre formation ‘Intégration continue’ avec Objis

formation-integration-continue-usine-logicielle-objis-maillons

2018-01-31T09:56:24+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java