Définir la propriété du plugin sur la ligne de commande dans maven 2

Dans maven 2.x, comment définirait la propriété d’un plugin sur la ligne de commande plutôt que dans la configuration de ce plugin dans le fichier pom ou settings.xml?

Par exemple, si j’utilisais mvn dependency:copy-dependencies ( voir ici ), comment définir la propriété useRepositoryLayout sans toucher au pom ni à mon fichier settings.xml?

Merci!

La réponse était juste devant moi dans les docs mojo de dépendances de copie (je me suis même lié à). La documentation de la propriété inclut l’expression par laquelle vous pouvez vous référer.

useRepositoryLayout: placez chaque artefact dans la même structure de répertoire qu’un référentiel par défaut. exemple: /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar

 * Type: boolean * Since: 2.0-alpha-2 * Required: No * Expression: ${mdep.useRepositoryLayout} * Default: false 

Pour définir cette propriété à partir de la ligne de commande, vous devez exécuter

 mvn -Dmdep.useRepositoryLayout=true  

Définissez les propriétés comme des propriétés arbitraires … et non les accessoires standard tels que la version. Dans mon cas, j’ai défini une nouvelle propriété build.version:

  build.version=unknown  

J’utilise la propriété:

 ${build.version} 

Je définis la propriété:

 mvn -P prod -Dbuild.version=app_name-branch_name-build_number package 

Généralement, vous définissez les propriétés maven en utilisant la même syntaxe que les propriétés système java. Avez-vous essayé la ligne suivante?

 mvn -DuseRepositoryLayout=true dependency:copy-dependencies 

Les autres réponses n’étaient pas claires pour moi. C’est comme ça que je le comprends:

Si le code du plug-in utilise une propriété système pour son paramètre, vous pouvez définir la valeur sur la ligne de commande.

Il y a 3 manières différentes de réaliser ceci dans le code du plugin:

 @parameter expression="${aSystemProperty}" @parameter default-value="${anExpression}" @parameter property="aSystemProperty" 

Si une ou plusieurs de ces méthodes, ou une combinaison de celles-ci, sont utilisées dans le code de plug-in pour une propriété particulière, vous pouvez spécifier une valeur pour le paramètre plug-in, sur la ligne de commande. Le code ci-dessus a été tiré de maven docs ici .

Si vous utilisez un plugin avec le code ci-dessus, vous pouvez spécifier une valeur pour votre propriété à l’aide de la commande suivante:

 mvn -DaSystemProperty=my-value