164 votes

Spécification de l'emplacement du référentiel local de Maven en tant que paramètre CLI

est-il possible de fournir localRepository emplacement comme argument JVM ? le truc c'est que je ne pas utiliser celui par défaut ~/.m2/repository et si vous -s settings.xml de certains projets, il n'est pas là, et il utilise ~/.m2/repository par défaut ... j'ai vérifier certaines de projet qui se construit avec ses propres settings.xml je voudrais utiliser par défaut localRepository emplacement sans le modifier, car il n'y a pas d' <localRepository> élément là

-DlocalRepository="..."

ne fonctionne pas

$mvn invoker:run -s settings.xml clean install -DskipTests -DlocalRepositoryPath=

ne fonctionne pas

 -Dsettings.localRepository

ne fonctionne pas

Donc, je pense que je dois décider si je vais modifier tiers settings.xml ou déplacer mon repo local à ~

318voto

Petr Kozelka Points 2515

utiliser la propriété maven maven.repo.local :

mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install

Aucune modification à settings.xml n'est nécessaire.

2voto

Ryan Stewart Points 46960

Une sorte de hacky façon de travailler est:

  1. Ajouter <localRepository>${m2.localRepository}</localRepository> de votre settings.xml
  2. Dans votre mvn.sh ou mvn.chauve-souris, ajoutez - -Dm2.localRepository=<full path to home dir>/.m2/repository avant le "$@" dans la commande qui est exécutée. Cela rendra votre local par défaut des pensions de rester là où il devrait être.
  3. Maintenant, vous pouvez utiliser mvn -Dm2.localRepository=... <phases/goals>. Parce que votre ligne de commande du système de la propriété est ajoutée à la ligne de commande après celui de la mvn script, il aura la priorité. (Au moins, je suis sûr que cela fonctionne de cette façon à la fois sur windows et linux, mais les tests nous le diront.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X