web-dev-qa-db-fra.com

Différentes dépendances pour différents profils de build

Est-il possible d'avoir un ensemble différent de dépendances dans un fichier maven pom.xml pour différents profils?

par exemple.

mvn -P debug
mvn -P release

Je voudrais prendre un fichier jar de dépendance différent dans un profil qui a les mêmes noms de classe et différentes implémentations des mêmes interfaces.

104
izb

Pour citer le documentation Maven à ce sujet :

Un élément de profil contient à la fois une activation facultative (un déclencheur de profil) et l'ensemble des modifications à apporter au POM si ce profil a été activé. Par exemple, un projet conçu pour un environnement de test peut pointer vers une base de données différente de celle du déploiement final. Ou les dépendances peuvent être extraites de différents référentiels en fonction de la version JDK utilisée.

(L'accent est à moi)

Placez simplement la dépendance pour le profil release dans la déclaration de profil elle-même et faites de même pour debug.

 <profiles> 
 <profile> 
 <id> debug </id> 
… 
 <dépendances> 
 <dépendance >… </dependency> 
 </dependencies> 
… 
 </profile> 
 <profile> 
 <id> release </ id > 
… 
 <Dépendances> 
 <Dépendance>… </dépendance> 
 </dépendances> 
… 
 </ profil> 
 </profiles> 
160