Les paramètres du fichier de configuration de Maven.xml existent à deux endroits:
1. Lieu d'installation: $ {m2_home} /conf/settings.xml
2. Répertoire utilisateur: $ {user.home} /. M2 / settings.xml
Le premier est également appelé configuration globale, qui est efficace pour tous les utilisateurs du système d'exploitation; Ce dernier est appelé configuration de l'utilisateur, qui est efficace uniquement pour les utilisateurs du système d'exploitation actuel. Si les deux existent, leur contenu sera fusionné et les paramètres à l'échelle de l'utilisateur remplacent les paramètres globaux.xml.
Une fois Maven installé, Settings.xml ne sera pas automatiquement généré dans le répertoire utilisateur, seul le fichier de configuration global est disponible. Si vous devez créer des paramètres à l'échelle de l'utilisateur.xml, vous pouvez copier des paramètres sous le chemin d'installation vers le répertoire $ {user.home} /. M2 /. Les paramètres par défaut de Maven.xml sont un modèle contenant des commentaires et des exemples. Vous pouvez le modifier rapidement pour répondre à vos besoins.
Une fois la configuration globale modifiée, tous les utilisateurs seront affectés. Si Maven est mis à niveau, toutes les configurations seront effacées. Par conséquent, vous devez copier et sauvegarder le fichier $ {m2_home} /conf/settings.xml. Généralement, il n'est pas recommandé de configurer les paramètres globaux.xml.
Settings.xml Explication détaillée
Spécifications de déclaration
<? xml version = "1.0" Encoding = "utf-8"?> <paramètres xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
LocalRepository
<! - Le chemin vers le référentiel local. La valeur par défaut est $ {user.home} /. M2 / référentiel. -> <localRepository> usr / local / maven </ localRepository>interacter
<! - Maven doit-il interagir avec l'utilisateur pour obtenir des entrées. Si Maven doit interagir avec l'utilisateur pour obtenir des entrées, réglé sur true, sinon il devrait être faux. La valeur par défaut est vraie. -> <interactiveMode> true </ntteractiveMode>
usepluginregistry
<! - Maven doit utiliser le fichier plugin-Registry.xml pour gérer la version plugin. Défini sur TRUE si vous devez permettre à Maven d'utiliser le fichier $ {user.home} /. M2 / Plugin-Registry.xml pour gérer la version du plugin. La valeur par défaut est fausse. -> <usePlugInRegistry> false </ usePlugInRegry>Hors ligne hors ligne
<! - Indique si Maven doit fonctionner en mode hors ligne. Vrai si le système de construction doit s'exécuter en mode hors ligne, par défaut est faux. Cette configuration est très utile lorsque le serveur de construction ne peut pas se connecter au référentiel distant en raison de la configuration du réseau ou des facteurs de sécurité. -> <fowsline> false </ffline>
groupes de branchement
<! - Lorsque l'ID d'organisation du plugin (GroupID) n'est pas explicitement fourni, il s'agit de rechercher une liste d'ID d'organisation du plugin (GroupID). Cet élément contient une liste d'éléments de grognement, chaque élément enfant contient un ID d'organisation (GroupID). Lorsque nous utilisons un plugin et que nous ne fournissons pas d'ID d'organisation (GroupID) lorsque la commande agit, Maven utilisera la liste. Par défaut, la liste contient org.apache.maven.plugins et org.codehaus.mojo -> <plugringroups> <! - Plugin Organisation ID (GroupId) -> <plugRingroup> org.codehaus.mojo </grankroup> </ / plugringrouts>
proxies
<! - Pour configurer différents agents, les profils multi-proxy peuvent faire face à l'environnement de travail des cahiers ou des appareils mobiles: en définissant simplement l'ID de profil, vous pouvez facilement modifier l'intégralité de la configuration proxy. -> <précxies> <! - L'élément de proxy contient les informations nécessaires lors de la configuration du proxy -> <préxy> <! - La définition unique du proxy est utilisée pour distinguer différents éléments proxy. -> <id> myproxy </id> <! - Ce proxy est-il celui qui est activé? True active le proxy. Lorsque nous déclarons un ensemble d'agents et qu'à un moment donné, un seul agent doit être activé, cet élément peut être utile. -> <active> true </active> <! - Protocole proxy. Protocole: // hostname: port, séparé en éléments discrets pour une configuration facile. -> <protocol> http </rotocol> <! - Nom d'hôte du proxy. Protocole: // hostname: port, séparé en éléments discrets pour une configuration facile. -> <host> proxy.somewhere.com </ host> <! - Le port proxy. Protocole: // hostname: port, séparé en éléments discrets pour une configuration facile. -> <port> 8080 </port> <! - Le nom d'utilisateur, le nom d'utilisateur et le mot de passe du nom de connexion et le mot de passe authentifié du serveur proxy. -> <nom d'utilisateur> ProxyUser </sername> <! - Le mot de passe du proxy, le nom d'utilisateur et le mot de passe représentent le nom de connexion et le mot de passe de l'authentification du serveur proxy. -> <mot de passe> SomePassword </SOROST> <! - Liste des noms d'hôtes qui ne devraient pas être proxyés. Le délimiteur de cette liste est spécifié par le serveur proxy; Dans l'exemple, le délimiteur de ligne verticale est utilisé et la virgule est également courante. -> <nonproxyhosts> *. google.com | ibiblio.org </ nonproxyhosts> </ proxy> </ proxies>
Serveurs
<! - Configurez certains paramètres sur le serveur. Certains paramètres tels que les certificats de sécurité ne doivent pas être distribués avec pom.xml. Ce type d'informations doit exister dans le fichier Settings.xml sur le serveur de construction. -> <Resvers> <! - L'élément de serveur contient les informations nécessaires lors de la configuration du serveur -> <ver> <! - Il s'agit de l'ID du serveur (notez que ce n'est pas l'ID de la connexion de l'utilisateur), qui correspond à l'ID de l'élément de référentiel dans la gestion de distribution. -> <id> server001 </id> <! - Nom d'utilisateur autorisé. Le nom d'utilisateur d'authentification et le mot de passe d'authentification représentent le nom de connexion et le mot de passe requis pour l'authentification du serveur. -> <nom d'utilisateur> my_login </sername> <! - Mot de passe d'autorisation. Le nom d'utilisateur d'authentification et le mot de passe d'authentification représentent le nom de connexion et le mot de passe requis pour l'authentification du serveur. La fonction de chiffrement de mot de passe a été ajoutée à 2.1.0+. Pour plus de détails, veuillez visiter la page de cryptage de mot de passe -> <mot de passe> MY_PASSWORD </SOORss> <! - L'emplacement de la clé privée utilisée pendant l'authentification. Semblable aux deux premiers éléments, l'emplacement de la clé privée et le mot de passe de la clé privée spécifient le chemin d'accès à une clé privée (par défaut est $ {user.home} /. Ssh / id_dsa) et une instruction secrète si nécessaire. À l'avenir, les éléments de phrase de passe et de mot de passe peuvent être extraits en externe, mais actuellement ils doivent être déclarés en texte brut dans le fichier Settings.xml. -> <vrivateKey> $ {usr.home} /. ssh / id_dsa </rivatekey> <! - Le mot de passe de la clé privée utilisée pour l'authentification. -> <PassPhrase> Some_PassPhrase </sassmPhrase> <! - Autorisations lorsque le fichier est créé. Si un fichier de référentiel ou un répertoire est créé pendant le déploiement, vous pouvez utiliser des autorisations. La valeur juridique de ces deux éléments est un numéro à trois chiffres, qui correspond aux autorisations du système de fichiers UNIX, telles que 664 ou 775. -> <FilePermedips> 664 </FilePermisssions> <! - Autorisations lorsque le répertoire est créé. -> <DirectoryPerMissions> 775 </ DirectoryPerMissions> </ Server> </ Serveurs>miroir
<! - Téléchargez la liste des miroirs configurés pour la liste des référentiels. Pour les paramètres avancés, consultez la page des paramètres de miroir -> <Mirrows> <! - Téléchargez le miroir pour un référentiel donné. -> <Mirror> <! - L'identifiant unique du miroir. L'identification est utilisée pour distinguer différents éléments miroir. -> <id> planetmirror.com </id> <! - Nom du miroir -> <nom> PlanetMirror Australie </name> <! - L'URL de l'image. Le système de construction priorise l'utilisation de cette URL plutôt que d'utiliser l'URL du serveur par défaut. -> <url> http://downloads.planetmirror.com/pub/maven2 </url> <! - ID du serveur en miroir. Par exemple, si nous voulons configurer un miroir du référentiel central Maven (http://repo.maven.apache.org/maven2/), nous devons définir l'élément sur Central. Cela doit être exactement le même que l'identifiant central de l'entrepôt central. -> <Mirrorof> Central </ Mirrorof> </Mirror> </Mirrors>
Profils
<! - Ajustez la liste des configurations de construction en fonction des paramètres de l'environnement. L'élément de profil dans Settings.xml est la version recadrée de l'élément de profil dans pom.xml. Il contient des éléments d'identification, d'activation, de référentiels, de pluginrepositoires et d'éléments de propriétés. L'élément de profil ne contient ici que ces cinq éléments enfants car il ne se soucie que de l'ensemble du système de construction (c'est le positionnement du rôle du fichier Settings.xml), plutôt que les paramètres distincts du modèle d'objet de projet. Si un profil dans un paramètre est activé, sa valeur écrase tout autre profil défini dans le pom ou profil.xml avec le même ID. -> <frèmes> <! - Configuration des composants ajustés en fonction des paramètres de l'environnement -> <pilé> <! - L'identifiant unique de cette configuration. -> <id> tester </id>
Activation
<! - La logique conditionnelle de déclencher automatiquement le profil. L'activation est la clé d'ouverture du profil. Comme les profils dans POM, la puissance des profils provient de sa capacité à utiliser automatiquement certaines valeurs dans certains environnements spécifiques; Ces environnements sont spécifiés par l'élément d'activation. L'élément d'activation n'est pas le seul moyen d'activer un profil. L'élément ActiveProfile dans le fichier Settings.xml peut contenir l'ID du profil. Le profil peut également être explicitement activé (test par exemple) sur la ligne de commande à l'aide d'une balise -p et d'une liste séparée par des virgules. -> <cactivation> <! - Identification de l'activation du profil par défaut-> <ActiveByDefault> Faux </ ActiveByDefault> <! - Lorsque le JDK correspondant est détecté, le profil est activé. Par exemple, 1.4 active JDK1.4, 1.4.0_2, tandis que! 1.4 active toutes les versions de JDK qui commencent par 1.4. -> <jdk> 1.5 </jdk> <! - Lorsque l'attribut de système d'exploitation correspondant est détecté, le profil est activé. L'élément OS peut définir certains attributs liés au système d'exploitation. -> <os> <! - Le nom du système d'exploitation qui active le profil -> <nom> Windows XP </name> <! - La famille du système d'exploitation qui active le profil (tel que 'Windows') -> <family> Windows </family> <! - La version du système d'exploitation du profil -> <from> x86 </ch> <! <! - Si maven détecte une certaine propriété (sa valeur peut être référencée dans le POM par $ {name}), il a la valeur Nom = Correspondant, et le profil sera activé. Si le champ de valeur est vide, le profil sera activé si le champ de nom de propriété existe. Sinon, le champ de valeur de propriété sera égalé de manière sensible à la cas -> <propriété> <! - Le nom de la propriété qui active le profil -> <name> mavenversion </name> <! - La valeur de la propriété qui active le profil -> <value> 2.0.3 </value> </ / propriété> <! - fournit un nom de fichier qui s'activait en détectant l'existence ou la non-existence du fichier. Manquant vérifie si le fichier existe et active le profil s'il n'existe pas. D'un autre côté, existera si le fichier existe et activera le profil s'il existe. -> <Fichier> <! - Si le fichier spécifié existe, activez le profil. -> <existant> $ {basaseir} /file2.properties </stippées> <! - Si le fichier spécifié n'existe pas, activez le profil. -> <andis> $ {basaseIr} /file1.properties </ manque> </fichier> </cactivation> Propriétés
<! - La liste des attributs étendus correspondant au profil. L'attribut Maven est le même que l'attribut en ANT et peut être utilisé pour stocker certaines valeurs. Ces valeurs peuvent être utilisées n'importe où dans le POM avec le tag $ {x}, où X fait référence au nom de la propriété. Les attributs sont disponibles sous cinq formulaires différents et sont tous accessibles dans le fichier Settings.xml. 1. Env.x: préfixé avec "Env." Renvoie une variable d'environnement Shell. Par exemple, "Env.path" fait référence à la variable de l'environnement $ Path (% Path% sur Windows). 2. Project.x: fait référence à la valeur d'élément correspondante dans le POM. Par exemple: <project> <version> 1.0 </-version> </ project> Obtenez la valeur de version via $ {project.version}. 3. Settings.x: fait référence à la valeur de l'élément correspondant dans les paramètres.xml. Par exemple: <fartings> <fofline> FAUX </FOFLINE> </D paramètres> Obtenez la valeur de hors ligne via $ {Settings.offline}. 4. Propriétés du système Java: Toutes les propriétés accessibles via java.lang.system.getProperties () sont accessibles dans POM en utilisant ce formulaire, tel que $ {java.home}. 5. X: Définissez dans l'élément <Properties />, ou dans un fichier externe, utilisez comme $ {SomeVar}. -> <propriétés> <user.install> $ {user.home} / our-project </User.install> </properties>Remarque: Si le profil est activé, vous pouvez à nouveau utiliser $ {user.install} dans le POM.
Référentiels
<! - Liste du référentiel distant, qui est un ensemble de projets distants utilisés par Maven pour remplir le référentiel local du système de build. -> <pèleaux> <! - Contient des informations qui doivent être connectées au référentiel distant -> <ispository> <! - Identificateur unique du référentiel à distance -> <id> Codehaussnapshots </id> <! - Nom du référentiel distant -> <nom> Codehaus Snapshots </name> <! - Comment faire face à des versions publiées dans le référentiel à distance -> <! - True Or False Versions dans le référentiel à distance -> <! Le référentiel est ouvert pour télécharger un certain type de composant (version de publication, version instantanée). -> <veabled> false </veloable> <! - Cet élément spécifie la fréquence à laquelle la mise à jour se produit. Maven compare les horodatages du POM local et du POM distant. Les options ici sont: toujours, quotidiennement (par défaut, quotidien), intervalle: x (ici x est un intervalle de temps en quelques minutes), ou jamais (jamais). -> <datedatePolicy> Toujours </datedatePolicy> <! - Que faire lorsque le fichier de vérification des composants de vérification Maven échoue -ignore, échec ou avertissement. -> <CHECKSuPolicy> Warn </ Checksumpolicy> </ liseases> <! - Comment gérer le téléchargement des versions instantanées dans le référentiel distant. Avec les deux ensembles de configurations, de versions et d'instantanés, POM peut adopter différentes stratégies pour chaque type de composant dans chaque référentiel séparé. Par exemple, quelqu'un pourrait décider d'activer la prise en charge des téléchargements de version instantanée uniquement à des fins de développement. Voir l'élément Repositories / Repository / Releases -> <Snapshots> <Aabled /> <UpdatePolicy /> <Checksumpolicy /> </napshots> <! - URL du référentiel distant, dans Protocol: // Hostname / Path Form Type utilisé pour localiser et trier les composants - peut être par défaut ou l'héritage. Maven 2 fournit une disposition par défaut pour son référentiel; Cependant, Maven 1.x a une disposition différente. Nous pouvons utiliser cet élément pour spécifier si la mise en page est par défaut ou l'héritage. -> <alalout> Default </ Layout> </ Repository> </ Repository> <! - Découvrez la liste de référentiels distants des plug-ins. Les entrepôts sont des maisons avec deux composantes principales. Le premier composant est utilisé comme dépendance pour les autres composants. Il s'agit de la plupart des types de composants stockés dans un entrepôt central. Un autre type de composant est les plug-ins. Le plug-in maven est un type spécial de composant. Pour cette raison, le référentiel plug-in est indépendant des autres référentiels. La structure de l'élément PluginRepositories est similaire à celle de l'élément des référentiels. Chaque élément de pluginRepository spécifie une adresse distante que Maven peut utiliser pour trouver le nouveau plugin. -> <PluginRepositories> <! - Contient des informations qui doivent être connectées au référentiel de plug-in distant. Voir la description des profils / profil / référentiels / élément de référentiel -> <glunerRepository> <Deleases> <veabled /> <UpdatePolicy /> <cochksumpolicy /> </ releases> <Snapshots> <veabled /> <datedePolicy /> <Chatksumpolicy /> </ Snapshots> <id /> <named /> <url /> <pheraft </ PluginRepository> </ Profil> </ Profiles>
Profiles actifs
<! - Activez manuellement la liste des profils et définissez le PROFICEPROFILE actif dans l'ordre dans lequel le profil est appliqué. Cet élément contient un ensemble d'éléments ActiveProfile, chacun contenant un ID de profil. Tout ID de profil défini dans ActiveProfile sera activé quel que soit le réglage de l'environnement. S'il n'y a pas de profil correspondant, rien ne se passe. Par exemple, si Env-Test est un actifProfile, le profil correspondant à l'ID dans pom.xml (ou profil.xml) sera activé. Si un tel profil ne peut être trouvé pendant la course, Maven fonctionnera comme d'habitude. -> <cactiveProfiles> <! - -> <cactiveProfile> Env-test </ activeProfile> </cactiveProfiles> </ Settings>
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.