Чем "mvn clean install" отличается от "mvn install"?

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

5 ответов

Решение

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

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

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

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

Другие вопросы по тегам