Ответ
Фаза package — это этап жизненного цикла Maven, который компилирует код, запускает тесты и упаковывает скомпилированные артефакты в распределяемый формат (JAR, WAR, EAR и др.), указанный в элементе <packaging> POM-файла.
Типичный порядок фаз до package:
validate– проверка корректности проекта.compile– компиляция исходного кода.test– выполнение модульных тестов.package– упаковка в JAR/WAR и т.д.
Пример:
# Выполнит все фазы до package включительно
mvn package
После выполнения в папке target/ появится файл, например, my-app-1.0.jar.
Важные нюансы:
- Зависимости не включаются в итоговый JAR (если только не используется плагин для создания «fat jar», например,
maven-assembly-pluginилиspring-boot-maven-plugin). - Тип упаковки задаётся в
pom.xml:<project> <packaging>war</packaging> <!-- или jar, ear, pom --> </project> - Для установки артефакта в локальный репозиторий используется фаза
install, для публикации —deploy.