Comment utiliser la ligne de commande maven pour déterminer le fichier settings.xml que Maven récupère?
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)
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.
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 .
Ceci est le fichier de configuration de Maven. Il peut être spécifié à deux niveaux:
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
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
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 ..."
La variable d’environnement M2_HOME
pour la variable globale. Voir Référence des paramètres :
L'élément
settings
du fichiersettings.xml
contient des éléments permettant de définir des valeurs qui configurent l'exécution Maven de différentes manières, comme lepom.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