commande Maven pour déterminer le fichier settings.xml Maven utilise
-
12-09-2019 - |
Question
Comment puis-je utiliser la ligne de commande maven pour déterminer quel fichier settings.xml Maven est ramasser?
La solution
Lancer maven avec l'option -X (débogage) et examinez le début de la sortie. Il devrait y avoir quelque chose comme ceci:
...
[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
...
(noms de répertoires originaux sont supprimés par moi)
Autres conseils
Votre commentaire à Cletus' (correct) réponse implique qu'il ya plusieurs fichiers de configuration Maven impliqués.
Maven utilise toujours un ou deux fichiers de paramètres. Les paramètres globaux définis dans (/conf/settings.xml $ {} M2_HOME) est toujours nécessaire. Le fichier de paramètres utilisateur (défini dans $ {user.home} /. M2 / settings.xml) est facultative. 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 de la ligne de commande, l'exemple suivant définira les paramètres globaux c: \ global \ settings.xml et les paramètres utilisateur c: \ user \ settings.xml :
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
À l'heure actuelle il n'y a pas de propriété ou un moyen d'établir quels sont les fichiers et les paramètres utilisateur globaux ont été utilisés à partir avec Maven. Pour accéder à ces valeurs, vous devez modifier MavenCli et / ou DefaultMavenSettingsBuilder pour injecter les emplacements de fichiers dans les paramètres résolus objet.
Vous pouvez utiliser le Maven plugin aide pour vous dire le contenu vos fichiers utilisateur et les paramètres globaux.
mvn help:effective-settings
demandera maven de cracher les combinés paramètres globaux et utilisateur .
Ceci est le fichier de configuration pour Maven. Il peut être spécifié à deux niveaux:
-
Niveau utilisateur. Ce fichier settings.xml fournit une configuration pour un seul utilisateur, et est normalement dans $ {user.home} /. m2 / settings.xml.
NOTE: This location can be overridden with the CLI option: -s /path/to/user/settings.xml
-
niveau mondial. Ce fichier settings.xml fournit une configuration pour tous Maven utilisateurs sur une machine (en supposant qu'ils sont tous en utilisant le même Maven installation). Il est normalement prévu dans $ {} Maven.home /conf/settings.xml.
NOTE: This location can be overridden with the CLI option: -gs /path/to/global/settings.xml
La variable d'environnement M2_HOME
pour celui mondial. Voir Paramètres de référence :
L'élément
settings
dans lesettings.xml
fichier contient des éléments utilisé pour définir les valeurs qui configurent exécution Maven de diverses manières, comme lepom.xml
, mais ne devrait pas être livré à un projet spécifique, ou distribué à un public. Celles-ci inclure des valeurs telles que local emplacement du référentiel, à distance autre serveurs, stockage et authentification information. Il y a deux endroits où un fichier settings.xml peut vivre:
- Maven install:
$M2_HOME/conf/settings.xml
- install d'un utilisateur: le
${user.home}/.m2/settings.xml
Méthode rapide et sale pour déterminer si Maven utilise settings.xml souhaitée serait annuler la xml et exécuter une commande maven sûr qui nécessite settings.xml.
Si on lit cette settings.xml puis rapports Maven une erreur: "Erreur de lecture settings.xml ..."