Wat is het verschil tussen mvn clean install
en mvn install
?
Antwoord 1, autoriteit 100%
clean
is zijn eigen build-levenscyclusfase (die kan worden gezien als een actie of taak) in Maven. mvn clean install
vertelt Maven om de clean
fase in elke module uit te voeren voordat de install
fase voor elke module wordt uitgevoerd.
Wat dit doet, is alle gecompileerde bestanden die je hebt wissen, zodat je zeker weet dat je elke module helemaal opnieuw compileert.
Antwoord 2, autoriteit 21%
Met Maven kun je doelen of levenscyclusfasen specificeren op de opdrachtregel (of beide).
clean
en install
zijn twee verschillende fasen van twee verschillende levenscycli, waarnaar verschillende plugin-doelen zijn gebonden(hetzij standaard of expliciet in uw pom.xml)
De clean
-fase, per conventie, is bedoeld om een build reproduceerbaar te maken, d.w.z. het ruimt alles op dat door eerdere builds is gemaakt. In de meeste gevallen doet het dat door clean:clean
, die de map verwijdert die is gekoppeld aan ${project.build.directory}
(meestal “target” genoemd)
Antwoord 3, autoriteit 16%
Je kunt meer dan één target-doel noemen met maven. mvn clean install
roept eerst clean
aan en daarna install
. Je moet handmatig opschonen, omdat opschonen geen standaard target-doel is en niet automatisch wordt uitgevoerd bij elke installatie.
clean
verwijdert de doelmap – het verwijdert alle klassenbestanden, de java-documenten, de jars, rapporten enzovoort. Als je niet clean
, dan zal maven alleen “doen wat gedaan moet worden”, alsof het geen klassen compileert als de bijbehorende bronbestanden niet zijn gewijzigd (in het kort).
we noemen het targetin ant en goalin maven
Antwoord 4, autoriteit 12%
Om je aan de Maven-voorwaarden te houden:
- “clean” is een fase van de clean
levenscyclus - “install” is een fase van de
standaard levenscyclus
http://maven.apache.org/ guides/introductie/introductie-to-the-lifecycle.html#Lifecycle_Reference
Antwoord 5, autoriteit 2%
Idem voor @Andreas_D, bovendien, als je zegt dat je Spring van de ene versie naar de andere moet updaten in je project zonder op te schonen, krijg je beide in je artefact. Kwam hier veel tegen toen ik Flex-ontwikkeling deed met Maven.