Как "mvn clean install" отличается от "mvn install"? - программирование

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

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

4b9b3361

Ответ 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

Ответ 5

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