Que fait mvn installer dans Maven exactement
Je viens de commencer à utiliser Maven et on m'a dit de faire mvn install
dans un répertoire spécifique.
Que fait mvn install
exactement?
Je pense qu'il cherche pom.xml
dans le dossier actuel et commence à suivre les instructions spécifiées dans ce fichier. Est-ce exact?
5 réponses
Comme vous le savez peut-être, Maven est un outil d'automatisation de construction fourni par Apache qui fait plus que la gestion des dépendances. Nous pouvons le faire comme un Pair de Ant et Makefile qui télécharge toutes les dépendances requises.
Sur un mvn install
, il encadre une arborescence de dépendances basée sur la configuration du projet pom.xml
sur tous les sous-projets sous le super pom.xml
(le POM racine) et télécharge/compile tous les composants nécessaires dans un répertoire appelé .m2
sous le dossier de l'utilisateur. Ils les dépendances devront être résolus pour que le projet soit construit sans erreurs, et mvn install
est un utilitaire qui pourrait télécharger la plupart des dépendances.
En outre, il existe d'autres utils dans Maven comme dependency:resolve
qui peuvent être utilisés séparément dans des cas spécifiques. Le cycle de vie de construction du mvn est comme ci-dessous:
process-resources
compile
process-test-resources
test-compile
test
package
install
deploy
La phase de test de ce mvn peut être ignorée en utilisant un indicateur -DskipTests=true
.
Avez-vous regardé l'un des documents Maven, par exemple, le Maven install plugin docs?
Mot version: il va construire le projet et l'installer dans votre dépôt local.
Il exécutera tous les objectifs de tous les plugins configurés associés à n'importe quelle phase du cycle de vie par défaut jusqu'à la phase "install":
Https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
L'objectif install:install
est fourni par "Apache Maven Install Plugin":
Plugin D'Installation D'Apache Maven
Le Plugin D'installation est utilisé pendant la phase d'installation pour ajouter des artefacts au référentiel local. Le Plugin D'installation utilise les informations dans le POM (
groupId
,artifactId
,version
) pour déterminer l'emplacement approprié de l'artefact dans le référentiel local.Le référentiel local est le cache local où tous les artefacts nécessaires à la construction sont stockés. Par par défaut, il est situé dans le répertoire personnel de l'utilisateur (
~/.m2/repository
) mais l'emplacement peut être configuré dans~/.m2/settings.xml
en utilisant l'élément<localRepository>
.
Cela dit, le but exact de l'objectif:
install:install
est utilisé pour installer automatiquement l'artefact principal du projet (le JAR, WAR ou EAR), son POM et tous les artefacts attachés (sources, javadoc, etc.) produits par un projet particulier.
Pour plus de détails sur l'objectif, veuillez vous référer à la page Apache Maven Install Plugin-install: install .
Pour plus de détails sur le cycle de vie de construction en général et sur la place de l'objectif dans le cycle de vie de construction, veuillez vous référer à la page Maven – Introduction to the Build Lifecycle.
-DskipTests=true
forme courte de -Dmaven.test.skip=true
Modifiez le paramètre .xml dans votre .dossier m2 . Vous pouvez utiliser le lien vers le repo local afin que les jars une fois downlaoded ne soient pas téléchargés encore et encore.
<url>file://C:/Users/admin/.m2/repository</url>
</repository>