Est-il possible de passer des arguments de la ligne de commande aux propriétés dans le pom.xml
fichier? par exemple je coursmvn ... argument
et dans pom.xml
<properties>
<myproperty> here should add argument from command line</myproperty>
</properties>
Merci pour l'aide.
Réponses:
Pour votre exemple de propriété, faites:
Notez les guillemets autour de la définition de la propriété entière. Vous en aurez besoin si votre propriété contient des espaces.
la source
mvn clean install "-Dprop1=value1" "-Dprop2=value2"
À l'intérieur de pom.xml
.....
.....
.....
Dans cet exemple, lorsque vous exécutez le pom sans aucun argument,
mvn clean install
le profil par défaut s'exécute.Lorsqu'il est exécuté avec
mvn -Denv=win64 clean install
Le profil win64 sera exécuté.
Veuillez vous reporter à http://maven.apache.org/guides/introduction/introduction-to-profiles.html
la source
J'ai utilisé le plugin de propriétés pour résoudre ce problème.
Les propriétés sont définies dans le pom et écrites dans un fichier my.properties, où elles sont ensuite accessibles à partir de votre code Java.
Dans mon cas, c'est le code de test qui doit accéder à ce fichier de propriétés, donc dans le pom, le fichier de propriétés est écrit dans testOutputDirectory de maven:
Utilisez outputDirectory si vous souhaitez que les propriétés soient accessibles par le code de votre application:
Pour ceux qui recherchent un exemple plus complet (il m'a fallu un peu de bidouillage pour que cela fonctionne car je ne comprenais pas comment la dénomination des balises de propriétés affecte la capacité de les récupérer ailleurs dans le fichier pom), mon pom ressemble à ceci:
Et sur la ligne de commande:
Ainsi, ces propriétés sont accessibles à partir du code Java:
la source
Vous pouvez donner des noms de variables sous forme de fichiers de projet. Par exemple, dans la configuration de votre plugin, ne donnez qu'une seule balise comme ci-dessous: -
Ensuite, sur la ligne de commande, vous pouvez passer le nom du projet en paramètre: -
la source
Puis en utilisant comme ça dans POM.xml
la source