В чем разница между mvn clean install
и mvn install
?
208
clean
это собственная фаза жизненного цикла сборки (которую можно рассматривать как действие или задачу) в Maven. mvn clean install
говорит Maven выполнить clean
фазу в каждом модуле перед запуском install
фазы для каждого модуля.
То, что это делает, очищает любые ваши скомпилированные файлы, удостоверяясь, что вы действительно компилируете каждый модуль с нуля.
clean
находится в отдельном жизненном цикле , поэтому он не вызывается по умолчанию.Maven позволяет указывать цели или этапы жизненного цикла в командной строке (или оба).
clean
иinstall
являются две разные фазы жизненного цикла , к которому различные вставные казни связаны (либо по умолчанию или явно в вашем pom.xml )clean
Фаза, согласно конвенции, имеется в виду , чтобы сделать сборки воспроизводимым, т.е. очищает все , что было создано на предыдущих сборках. В большинстве случаев это происходит с помощью вызоваclean:clean
, который удаляет каталог, связанный с${project.build.directory}
(обычно называемый «целевой»)источник
Вы можете назвать более одной
целевойцели с Maven.mvn clean install
звонитclean
сначала, потомinstall
. Вы должны очистить вручную, потому что очистка не является стандартнойцелевойцелью и не выполняется автоматически при каждой установке.clean
удаляет целевую папку - она удаляет все файлы классов, документы Java, банки, отчеты и так далее. Если вы этого не сделаетеclean
, то maven будет только «делать то, что должно быть сделано», как если бы он не компилировал классы, когда соответствующие исходные файлы не изменились (вкратце).мы называем это целью в муравье и целью в Maven
источник
Чтобы придерживаться условий Maven:
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
источник
То же самое для @Andreas_D, кроме того, если вы скажете обновить Spring с 1 версии до другой в вашем проекте, не выполняя чистку, вы получите оба в своем артефакте. Многое сталкивалось с этим при разработке Flex с Maven.
источник