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