web-dev-qa-db-fra.com

Commande Maven pour déterminer le fichier settings.xml utilisé par Maven

Comment utiliser la ligne de commande maven pour déterminer le fichier settings.xml que Maven récupère?

250
harschware

Démarrez maven avec l'option -X (débogage) et examinez le début de la sortie. Il devrait y avoir quelque chose comme ça:

...
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from c:\....\Apache-maven-3.0.3\conf\settings.xml
[DEBUG] Reading user settings from c:\....\.m2\settings.xml
[DEBUG] Using local repository at C:\....\repository
...

(Les noms de répertoire originaux sont supprimés par moi)

301
elek

Votre commentaire à la réponse (correcte) de cletus implique la présence de plusieurs fichiers de paramètres Maven.

Maven utilise toujours un ou deux fichiers de paramètres. Les paramètres globaux définis dans ($ {M2_HOME} /conf/settings.xml) sont toujours obligatoires. Le fichier de paramètres utilisateur (défini dans $ {user.home} /. M2/settings.xml) est facultatif. Tous les paramètres définis dans les paramètres utilisateur ont priorité sur les paramètres globaux correspondants.

Vous pouvez remplacer l'emplacement des paramètres globaux et utilisateur à partir de la ligne de commande. L'exemple suivant définit les paramètres globaux sur c:\global\settings.xml et les paramètres utilisateur sur c :\user\settings.xml:

mvn install --settings c:\user\settings.xml 
    --global-settings c:\global\settings.xml

Il n'existe actuellement aucune propriété ni aucun moyen d'établir quels fichiers de paramètres utilisateur et globaux ont été utilisés avec Maven. Pour accéder à ces valeurs, vous devez modifier MavenCli et/ou DefaultMavenSettingsBuilder afin d'injecter les emplacements de fichier dans l'objet Paramètres résolu.

165
Rich Seller

Vous pouvez utiliser le plug-in de maven pour vous informer du contenu de vos fichiers de paramètres utilisateur et globaux.

mvn help:effective-settings

demandera à maven de cracher les paramètres globaux et utilisateur combinés .

117
serg10

Ceci est le fichier de configuration de Maven. Il peut être spécifié à deux niveaux:

  1. Niveau de l'utilisateur. Ce fichier settings.xml fournit la configuration pour un seul utilisateur. Il est normalement fourni dans $ {user.home} /. M2/settings.xml.

              NOTE: This location can be overridden with the CLI option:
    
              -s /path/to/user/settings.xml
    
  2. Niveau global. Ce fichier settings.xml fournit la configuration à tous les utilisateurs Maven sur une machine (en supposant qu'ils utilisent tous la même installation Maven). Il est normalement fourni dans $ {maven.home} /conf/settings.xml.

              NOTE: This location can be overridden with the CLI option:
    
              -gs /path/to/global/settings.xml
    
39
firstthumb

Une méthode rapide et astucieuse pour déterminer si Maven utilise settings.xml souhaité invaliderait son xml et exécuterait une commande maven sûre qui nécessite settings.xml.

S'il lit this settings.xml, Maven signale une erreur: "Erreur lors de la lecture de settings.xml ..."

24
topchef

La variable d’environnement M2_HOME pour la variable globale. Voir Référence des paramètres :

L'élément settings du fichier settings.xml contient des éléments permettant de définir des valeurs qui configurent l'exécution Maven de différentes manières, comme le pom.xml, mais ne doivent pas être associées à un projet spécifique, ni distribuées à un public. Celles-ci incluent des valeurs telles que l'emplacement du référentiel local, d'autres serveurs de référentiel distants et des informations d'authentification. Un fichier settings.xml peut vivre à deux endroits:

  • L'installation de Maven: $M2_HOME/conf/settings.xml
  • Installation d'un utilisateur: ${user.home}/.m2/settings.xml
24
cletus