Expressions de paramètres
A propos de l'utilisation en ligne de commande:
La documentation du paramètre spécifie que le paramètre est initialisé à la valeur de la propriété ${project.build.directory}
(qui est la propriété faisant référence au dossier cible).
Voici ce que cela signifie:
Pour les mojos qui sont conçus pour être exécutés directement depuis l'interface en ligne de commande, leurs paramètres fournissent généralement un moyen d'être configurés via des propriétés système au lieu d'une section dans le POM. La documentation du plugin pour ces paramètres listera une expression qui dénote les propriétés système pour la configuration. Dans le mojo ci-dessus, le paramètre url est associé à l'expression ${query.url}
, ce qui signifie que sa valeur peut être spécifiée par la propriété système query.url
comme indiqué ci-dessous:
mvn myquery:query -Dquery.url=http://maven.apache.org
Référence:
Configuration de ${project.build.directory}
Cependant, ${project.build.directory}
n'est pas une propriété système, c'est une propriété de l'objet Projet's de l'objet Build
.
Vous ne pouvez pas définir directement les propriétés internes de Maven en ligne de commande, mais vous pouvez y arriver avec un petit astuce en ajoutant des espaces réservés dans votre pom.xml :
${dir}
Maintenant, le répertoire de sortie est défini via la propriété de la ligne de commande (en utilisant -Ddir=somedirectory
). L'inconvénient : maintenant vous devez toujours utiliser le paramètre -Ddir
sur la ligne de commande.
Utilisation de profils
Mais il y a aussi de l'aide ici. Il suffit d'utiliser un profil lorsque vous souhaitez configurer le répertoire:
conf
${dir}
Maintenant, vous pouvez soit faire
# tout va dans someOtherDir au lieu de target
mvn clean install -Pconf -Ddir=someOtherDir
ou tout simplement
# tout va dans target
mvn clean install
Configuration du Plugin Jar
Maintenant, si vous voulez simplement modifier le répertoire de sortie du jar depuis la ligne de commande sans rediriger tout depuis target, nous allons modifier le profil pour configurer le plugin à partir d'une propriété de ligne de commande:
conf
org.apache.maven.plugins
maven-jar-plugin
2.3.1
${dir}
L'utilisation est identique à ci-dessus:
# tout va dans someOtherDir au lieu de target
mvn clean install -Pconf -Ddir=someOtherDir