Quelles sont exactement les différences entre mvn clean package
et mvn clean install
? Lorsque je lance ces deux commandes, elles semblent toutes les deux faire la même chose.
Eh bien, les deux vont nettoyer. Cela signifie qu'ils vont supprimer le dossier cible. La vraie question est quelle est la différence entre package et install?
package
compilera votre code et le conditionnera également. Par exemple, si votre pom indique que le projet est un fichier jar, il en crée un pour vous lorsque vous le mettez en package et le placez quelque part dans le répertoire cible (par défaut).
install
compilera et conditionnera, mais le placera également dans votre référentiel local. Cela permettra aux autres projets de s'y référer et de le récupérer à partir de votre référentiel local.
package générera un fichier Jar/war conformément au fichier POM . install installera le fichier jar généré dans le référentiel local pour d’autres dépendances, le cas échéant.
install phase vient après package phase
Que fait clean (commun aux deux commandes) - supprime tous les fichiers générés par la construction précédente
En ce qui concerne la différence entre les commandes package et install , vous devez d’abord comprendre lecycle de vie d’un projet maven} _
Ce sont les phases du cycle de vie par défaut dans maven
Le fonctionnement de Maven est que, si vous exécutez une commande pour l'une des phases du cycle de vie, il exécute chaque phase du cycle de vie par défaut dans l'ordre, avant d'exécuter la commande elle-même.
ordre d'exécution
validate >> compile >> test (optionnel) >> paquet >> verify >> installer >> deploy
ainsi, lorsque vous exécutez la commandepackage mvn, il exécute les commandes pour toutes les phases du cycle de vie jusqu'au package.
valider >> compiler >> test (optionnel) >> package
et comme pourmvn install, il exécute les commandes pour toutes les phases du cycle de vie jusqu'à l'installation, ce qui inclut également le package.
valider >> compiler >> tester (facultatif) >> package >> verify >> installer
Donc, effectivement, cela signifie que install orders fait tout ce que package command fait et plus encore (installez le paquet dans le référentiel local, pour l'utiliser comme dépendance dans d'autres projets localement)
Source: Référence du cycle de vie Maven
Le package et l’installation sont diverses phases du cycle de vie de construction de maven. La phase d’emballage exécute toutes les phases précédentes et s’arrête avec l’emballage du projet sous forme de bocal. De même, la phase d'installation exécute toutes les phases précédentes et installe enfin le projet localement pour d'autres projets dépendants.
Pour comprendre le cycle de vie de construction de maven, veuillez suivre le lien suivant: https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
package
va ajouter jar
ou war
dans son dossier target
. Nous pouvons le vérifier lorsque nous viderons le dossier cible (à l'aide de mvn clean
), puis exécuterons mvn package
.install
fera tout ce que package
fait, en plus il ajoutera aussi un paquetage jar
ou war
dans le référentiel local. Nous pouvons le confirmer en consultant votre dossier .m2
.