Antworten:
clean
ist eine eigene Build-Lebenszyklusphase (die als Aktion oder Aufgabe betrachtet werden kann) in Maven. mvn clean install
Weist Maven an, die clean
Phase in jedem Modul durchzuführen, bevor die install
Phase für jedes Modul ausgeführt wird.
Dadurch werden alle kompilierten Dateien gelöscht, die Sie haben, und es wird sichergestellt, dass Sie jedes Modul wirklich von Grund auf neu kompilieren.
clean
befindet sich in einem separaten Lebenszyklus und wird daher nicht standardmäßig aufgerufen.
Mit Maven können Sie entweder Ziele oder Lebenszyklusphasen in der Befehlszeile (oder beides) angeben.
clean
und install
sind zwei verschiedene Lebenszyklusphasen , an die verschiedene Plugin-Ausführungen gebunden sind (entweder standardmäßig oder explizit in Ihrer pom.xml )
Die clean
Phase soll gemäß Konvention einen Build reproduzierbar machen, dh alles bereinigen, was durch frühere Builds erstellt wurde. In den meisten Fällen geschieht dies durch Aufrufen clean:clean
, wodurch das gebundene Verzeichnis gelöscht wird ${project.build.directory}
(normalerweise als "Ziel" bezeichnet).
Sie können mit maven mehr als ein Ziel erreichen. mvn clean install
ruft clean
dann zuerst an install
. Sie müssen manuell reinigen, da sauber kein Standard ist Ziel Ziel und nicht automatisch auf jedem installieren ausgeführt.
clean
Entfernt den Zielordner - er löscht alle Klassendateien, die Java-Dokumente, die Jars, Berichte und so weiter. Wenn Sie dies nicht tun clean
, wird maven nur "das tun, was getan werden muss", als würde es keine Klassen kompilieren, wenn sich die entsprechenden Quelldateien nicht geändert haben (kurz gesagt).
Wir nennen es Ziel in Ameise und Ziel in Maven
Um bei den Maven-Begriffen zu bleiben:
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
Das Gleiche gilt für @Andreas_D. Wenn Sie außerdem sagen, dass Sie Spring in Ihrem Projekt von einer Version auf eine andere aktualisieren, ohne eine Bereinigung durchzuführen, werden Sie beide in Ihrem Artefakt finden. Bei der Flex-Entwicklung mit Maven bin ich häufig darauf gestoßen.