Quelle est la différence entre mvn clean install
et mvn install
?
clean
est sa propre phase de cycle de vie de génération (qui peut être considérée comme une action ou une tâche) dans Maven. mvn clean install
indique à Maven d'effectuer la phase clean
dans chaque module avant d'exécuter la phase install
pour chaque module.
Cela efface tous les fichiers compilés que vous avez et veille à bien compiler chaque module à partir de rien.
Maven vous permet de spécifier les objectifs ou les phases du cycle de vie sur la ligne de commande (ou les deux).
clean
et install
sont deux phases de cycle de vie différentes , auxquelles les exécutions de plug-ins différentes sont liées (par défaut ou explicitement dans votre pom.xml )
La phase clean
, conformément aux conventions, vise à rendre une construction reproductible, c’est-à-dire qu’elle nettoie tout ce qui a été créé par les versions précédentes. Dans la plupart des cas, il appelle - clean:clean
, ce qui supprime le répertoire lié à _${project.build.directory}
_ (généralement appelé "cible").
Vous pouvez appeler plus d'un cible but avec Maven. mvn clean install
appelle clean
d'abord, puis install
. Vous devez nettoyer manuellement, car nettoyer n'est pas une norme cible objectif et non exécuté automatiquement à chaque installation.
clean
supprime le dossier cible. Il supprime tous les fichiers de classe, les documents Java, les fichiers JAR, les rapports, etc. Si vous ne jouez pas clean
, alors maven ne fera que "faire ce qui doit être fait", comme s'il ne compilait pas de classes lorsque les fichiers source correspondants n'ont pas été modifiés (en bref).
nous l'appelons cible dans ant et objectif dans maven
Pour rester avec les termes Maven:
http://maven.Apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
Idem pour @Andreas_D, de plus, si vous dites mettre à jour Spring d'une version à une autre de votre projet sans effectuer de nettoyage, vous obtiendrez les deux dans votre artefact. Je participais beaucoup à cela en développant Flex avec Maven.