Как "mvn clean install" отличается от "mvn install"?

В чем разница между mvn clean install и mvn install?

4b9b3361

clean - это собственная фаза жизненного цикла сборки (которую можно рассматривать как действие или задачу) в Maven. mvn clean install сообщает Maven, чтобы выполнить фазу clean в каждом модуле перед тем, как запустить фазу install для каждого модуля.

Что это такое, ясны любые скомпилированные файлы, которые вы имеете, убедившись, что вы действительно скомпилируете каждый модуль с нуля.

131
ответ дан 16 мая '11 в 17:18
источник

Maven позволяет указать либо цели, либо фазы жизненного цикла в командной строке (или и то, и другое).

clean и install две разные фазы жизненного цикла, к которым различные плагины связаны (либо по умолчанию, либо явно в вашем pom.xml)

Фаза clean для каждого соглашения предназначена для того, чтобы сделать сборку воспроизводимой, т.е. она очищает все, что было создано предыдущими сборками. В большинстве случаев это происходит, вызывая clean:clean, который удаляет каталог, привязанный к ${project.build.directory} (обычно называемый "target" )

34
ответ дан 16 мая '11 в 17:25
источник

Вы можете вызвать более одной цели target с помощью maven. mvn clean install сначала вызовет clean, затем install. Вы должны очистить вручную, потому что чистая не является стандартной целью target и не выполняется автоматически при каждой установке.

clean удаляет целевую папку - она ​​удаляет все файлы классов, java-документы, банки, отчеты и т.д. Если вы не clean, тогда maven будет "делать то, что нужно сделать", например, не будет компилировать классы, если соответствующие исходные файлы не изменились (вкратце).

мы называем его target в ant и цели в maven

24
ответ дан 16 мая '11 в 17:24
источник

Ditto для @Andreas_D, кроме того, если вы скажете обновление Spring от одной версии к другой в своем проекте, не делая ничего чистого, вы завершите оба в своем артефакте. В этом много времени развивается при разработке Flex с помощью Maven.

2
ответ дан 16 мая '11 в 17:28
источник