Je viens d'apprendre à apprendre et nous avons récemment eu besoin d'aller de plus en plus. J'aimerais connaître la différence entre
mvn clean install
mvn release
mvn deploy
Veuillez être aussi descriptif que possible.
Les clean
, install
et deploy
les phases sont valides phases du cycle de vie et leur appel déclenchera toutes les phases les précédant et les objectifs liés à ces phases.
mVN propre installer
Cette commande appelle la phase clean
puis la phase install
de manière séquentielle:
clean
: supprime les fichiers générés au moment de la construction dans le répertoire d'un projet (target
par défaut)install
: installe le paquet dans le référentiel local, pour l'utiliser comme dépendance dans d'autres projets localement.mVN déployer
Cette commande appelle la phase deploy
:
deploy
: copie le package final dans le référentiel distant pour le partager avec d'autres développeurs et projets.libération MVN
Ce n'est ni une phase valide, ni un objectif donc cela ne fera rien. Mais si fait référence au plug-in Maven Release utilisé pour automatiser la gestion des versions. La libération d'un projet se fait en deux étapes: prepare
et perform
. Comme documenté:
La préparation d’une version passe par les phases suivantes:
- Vérifiez qu'il n'y a pas de changements non validés dans les sources
- Vérifiez qu'il n'y a pas de dépendances SNAPSHOT
- Changez la version des POM de x-SNAPSHOT en une nouvelle version (vous serez invité à indiquer les versions à utiliser)
- Transformer les informations SCM dans le POM pour inclure la destination finale de la balise
- Exécutez les tests du projet sur les POM modifiés pour vérifier que tout fonctionne correctement.
- Commettre les POM modifiés
- Marquez le code dans le GDS avec un nom de version (cela vous sera demandé)
- Bump la version dans les POM à une nouvelle valeur y-SNAPSHOT (ces valeurs seront également invitées)
- Commettre les POM modifiés
Puis:
L'exécution d'une version exécute les phases suivantes:
- Commander à partir d'une URL SCM avec une balise facultative
- Exécutez les objectifs Maven prédéfinis pour libérer le projet (par défaut, deploy site-deploy)
mvn install
placera votre projet Maven dans le référentiel local , pour une application locale utilisant votre projet comme dépendance.mvn release
va essentiellement mettre votre code actuel dans une balise sur votre SCM, changer votre version dans vos projets.mvn deploy
placera votre projet maven dans un référentiel distant pour le partager avec d'autres développeurs.Ressources: