Question

Comment puis-je utiliser la ligne de commande maven pour déterminer quel fichier settings.xml Maven est ramasser?

Était-ce utile?

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:

  1. 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
    
  2. 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 le   settings.xml fichier contient des éléments   utilisé pour définir les valeurs qui configurent   exécution Maven de diverses manières, comme   le pom.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 ..."

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top