Comment utiliser la ligne de commande maven pour déterminer le fichier settings.xml que Maven récupère?
Comment utiliser la ligne de commande maven pour déterminer le fichier settings.xml que Maven récupère?
Réponses:
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 d'origine sont supprimés par moi)
Votre commentaire à la réponse (correcte) de cletus implique que plusieurs fichiers de paramètres Maven sont impliqués.
Maven utilise toujours un ou deux fichiers de paramètres. Les paramètres globaux définis dans ($ {M2_HOME} /conf/settings.xml) sont toujours requis. 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éfinira 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 à partir de quels fichiers utilisateur et paramètres globaux ont été utilisés avec Maven. Pour accéder à ces valeurs, vous devez modifier MavenCli et / ou DefaultMavenSettingsBuilder pour injecter les emplacements de fichier dans l'objet Settings résolu.
Vous pouvez utiliser le plugin d'aide maven pour vous indiquer le contenu de vos fichiers utilisateur et paramètres globaux.
mvn help:effective-settings
demandera à Maven de recracher le paramètres globaux et utilisateur combinés .
Il s'agit du 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 et 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 pour 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
La M2_HOME
variable d'environnement pour la variable globale. Voir Référence des paramètres :
L'
settings
élément dusettings.xml
fichier contient des éléments utilisés pour définir des valeurs qui configurent l'exécution de Maven de diverses manières, comme lepom.xml
, mais ne doivent pas être regroupés dans un projet spécifique, ni distribués à un public. Il s'agit notamment de valeurs telles que l'emplacement du référentiel local, les serveurs de référentiel distants alternatifs et les informations d'authentification. Il existe deux emplacements où un fichier settings.xml peut vivre:
- L'installation Maven:
$M2_HOME/conf/settings.xml
- Installation d'un utilisateur:
${user.home}/.m2/settings.xml
the former settings.xml are also called global settings, the latter settings.xml are referred to as user settings. If both files exists, their contents gets merged, with the user-specific settings.xml being dominant.
Une méthode rapide et sale pour déterminer si Maven utilise le fichier settings.xml souhaité invaliderait son xml et exécuterait une commande maven sûre qui nécessite settings.xml.
S'il lit ce fichier settings.xml, Maven signale une erreur: "Erreur de lecture de settings.xml ..."