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?

128
demandé sur gvlasov 2012-05-10 16:18:54

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:

  1. process-resources
  2. compile
  3. process-test-resources
  4. test-compile
  5. test
  6. package
  7. install
  8. deploy

La phase de test de ce mvn peut être ignorée en utilisant un indicateur -DskipTests=true.

80
répondu uniqrish 2018-04-17 19:41:45

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.

27
répondu Dave Newton 2012-05-10 12:21:20

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

6
répondu Puce 2012-05-10 12:42:35

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>.

- Apache Maven Installer Plugin-Introduction .

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.

- Apache Maven Installer Plugin-Introduction .

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.

2
répondu Sergey Brunov 2017-10-26 10:39:31

-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>
1
répondu Jyoti Prakash 2013-04-04 06:36:23