Résumé d'apprentissage "Maven combat" (4)

       Dans le dernier article, nous avons présenté la représentation logique des coordonnées et des dépendances des composants Maven. Cet article présente la représentation physique des composants dans Maven-l'entrepôt. Avant l'émergence de Maven, nous avons généralement un dossier lib sous chaque projet, qui stocke tous les composants dont dépend le projet, puis le problème vient, chaque projet dépend du même composant, ces composants identiques et dupliqués sont dispersés dans différents Des projets occupent de l'espace disque et sont difficiles à gérer. Sur la base du mécanisme de coordonnées, Maven peut stocker les composants partagés par divers projets de manière unifiée. Cet emplacement unifié est l'entrepôt.

       La relation correspondante entre le chemin de stockage du composant et les coordonnées Maven est: groupId / artifactId / version / artifactId-version.packaging. L'entrepôt Maven est basé sur un stockage de système de fichiers simple, afin que nous puissions facilement trouver les fichiers associés et localiser les problèmes lorsque nous rencontrons des problèmes.

Sources des composants de l'entrepôt: 1. Téléchargement depuis l'entrepôt distant 2. Installation propre pour construire le projet et sortie vers l'entrepôt


Classification de l'entrepôt Maven

1. Local:

         Chemin d'accès au répertoire local par défaut - répertoire utilisateur / .m2 / repository

         Modifier la configuration du chemin

        <paramètres>

                <localRepository> D: \ java \ repository \ </localRepository>

         </settings>

2. À distance (entrepôt central / serveur privé / autre entrepôt public)

        Lorsque Maven recherche un composant, il détermine d'abord si l'entrepôt local existe et renvoie s'il existe. S'il n'existe pas, il ira à l'entrepôt distant pour le trouver, puis le chargera dans l'entrepôt local, puis l'utilisera. Il comprend les types suivants:

        (1) Entrepôt central: le propre entrepôt distant de Maven contient la plupart des composants open source, ce qui fait de Maven «prêt à l'emploi»

                http://repo1.maven.org/maven2 (voir $ M2_HOME / lib / maven-model-builder-3.0.jar --org / apache / maven / model / pom-4.0.0.xml pour plus de détails)

        (2) Serveur privé: l'agent d'entrepôt distant configuré dans le réseau local peut réduire l'occupation de la bande passante pour accéder au réseau externe, accélérer le téléchargement des composants et réduire la pression d'accès de l'entrepôt central. Vous pouvez également déployer des composants de génération de projets internes sur des serveurs privés pour une utilisation par d'autres projets.

        (3) Autres entrepôts publics:

                http: // download.java.net/maven/2/, 

                http://repository.jboss.com/maven2/


Configuration de l'entrepôt distant

        Configuration dans POM

                Problèmes restants:

                        Comment configurer plusieurs entrepôts distants?

                        Indication de la version du composant, rappel lors de la vérification des mises à jour

         1. Certification

                Configuré dans settings.xml: <serveurs>

        2. Déployer dans un entrepôt distant

                Projet de configuration pom.xml: <distributionManagement>

                mvn clean deploy

         Version d'instantané

                 S'il n'y a pas de version d'instantané, lorsque plusieurs personnes collaborent, différents modules sont implémentés et il existe une relation de dépendance entre les modules. À ce stade, afin de réaliser l'appel entre les modules, vous devez spécifier le numéro de version, mais parce que les deux modules sont en développement, ils sont instables Les modules dépendants changeront fréquemment.

                Du point de vue de la partie utilisatrice, les solutions préférées sont les suivantes: 1. Retirez le code du module dépendant et compilez localement; 2. Spécifiez une version fixe et mettez-la à jour après chaque génération car vous devez la supprimer manuellement; 3. Les deux parties continuent de changer de version, mais cela Cela signifie également que chaque changement doit être modifié en cascade et qu'il y a plusieurs endroits.

                Avec le concept de version d'instantané, le problème ci-dessus peut être bien résolu. Lorsque Maven crée la version de capture instantanée du composant, il ajoute automatiquement un horodatage. Lorsque le composant de partie de confiance vérifie la mise à jour de la version de capture instantanée conformément à la stratégie pendant le processus de génération, s'il existe une nouvelle version, la dernière version de la dépendance sera utilisée pour l'activité de génération dépendante. Vous pouvez également exécuter mvn clean install-U pour forcer la vérification des mises à jour


                Configuration du miroir

                        <mirrors>

                Service de recherche d'entrepôt

                        http://www.mvnbrowser.com/ http://mvnrepository.com/  https://repository.sonatype.org、http://www.jarvana.com/jarvana

                       

小结

        本文介绍了Maven仓库的概念以及布局,分类及其使用上的配置,同时解释了快照的概念--方便协同开发时的版本控制,最后也汇总了一些仓库搜索服务,方便日常开发。

发布了159 篇原创文章 · 获赞 225 · 访问量 21万+

Je suppose que tu aimes

Origine blog.csdn.net/lyg673770712/article/details/51029715
conseillé
Classement