web-dev-qa-db-fra.com

Comment utiliser mvn -D pour définir (plusieurs) propriétés dans Maven via la ligne de commande?

Comment utiliser le mvn -D à maven? Comment définir une propriété (ou plusieurs propriétés) en l'utilisant?

Y a-t-il des articles officiels pour mvn -D?

Je n'en ai pas trouvé. Merci.

28
jiafu

La bonne façon de définir une propriété via la ligne de commande en utilisant -D est:

mvn -DpropertyName=propertyValue clean package
  • Si propertyName n'existe pas dans le pom.xml, il sera défini.
  • Si propertyName existe déjà dans le pom.xml, sa valeur sera remplacée par celle passée en argument via -D.

Pour envoyer plusieurs variables , utilisez plusieurs espaces délimités -Ds:

mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package

Vous pouvez vérifier plus de détails sur les propriétés dans Maven: The Complete Reference . Plus précisément, dans la section: 6.1. Options de ligne de commande Maven/6.1.1. Définition des propriétés .

Exemple:

Si vous avez dans votre pom.xml:

<properties>
    <theme>myDefaultTheme</theme>
</properties>

Alors mvn -Dtheme=halloween clean package écraserait la valeur de themes pendant cette exécution, ayant l'effet comme si vous aviez:

<properties>
    <theme>halloween</theme>
</properties>
45
acdcjunior