Что делает фаза clean в Maven?

«Что делает фаза clean в Maven?» — вопрос из категории DevOps, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Фаза clean — это цель (goal) плагина maven-clean-plugin. Она удаляет все файлы, сгенерированные предыдущими сборками, по умолчанию — содержимое каталога target/.

Назначение: Обеспечить чистую сборку проекта с нуля, устранив потенциальные проблемы из-за устаревших или некорректных артефактов (скомпилированных классов, JAR-файлов, отчетов).

Использование:

# Очистка проекта
mvn clean
# Типичный сценарий: очистка с последующей сборкой и установкой в локальный репозиторий
mvn clean install

Что удаляется: После выполнения mvn clean удаляется весь каталог target/, включая:

  • target/classes (скомпилированные .class файлы)
  • target/test-classes
  • *.jar, *.war архивы
  • Отчеты о тестах, Jacoco, Checkstyle и т.д.

Важно: Это безопасная операция, так как исходный код и конфигурационные файлы (pom.xml) не затрагиваются.