Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Maven package
При выполнении команды mvn package Maven проходит через полный жизненный цикл сборки проекта вплоть до фазы package (упаковка). Это одна из центральных операций в Java-разработке.
Основные этапы выполнения
Команда последовательно выполняет следующие фазы:
- validate — проверка корректности структуры проекта
- compile — компиляция исходного кода из
src/main/javaв классы в папкуtarget/classes - test — компиляция и запуск unit-тестов из
src/test/java - package — упаковка скомпилированного кода в JAR/WAR/EAR (в зависимости от типа проекта)
Итоговый результат
По завершении команды в директории target/ появляется артефакт (обычно JAR-файл):
target/
├── classes/ # Скомпилированные классы
├── test-classes/ # Скомпилированные тесты
├── my-app-1.0-SNAPSHOT.jar # Финальный артефакт
└── surefire-reports/ # Отчёты тестов
Что происходит во время package
- Берутся все скомпилированные
.classфайлы изtarget/classes - Добавляются ресурсы из
src/main/resources - Создаётся манифест
META-INF/MANIFEST.MF - Все файлы упаковываются в один JAR-архив
Опции и конфигурация
Можно использовать флаги для контроля процесса:
mvn clean package # Очистка перед сборкой
mvn package -DskipTests # Пропуск тестов
mvn package -Dmaven.test.skip=true # Альтернативный способ
mvn package -X # Debug режим с логированием
Использование артефакта
После mvn package можно:
- Запустить JAR:
java -jar target/my-app-1.0-SNAPSHOT.jar - Развернуть на сервер приложений (для WAR)
- Опубликовать в репозиторий Maven (с
mvn deploy)
Важные моменты
- Если тесты падают,
mvn packageзавершится с ошибкой - При наличии плагинов может выполняться дополнительная обработка
- Для многомодульных проектов (multi-module)
mvn packageобрабатывает все модули в правильном порядке - По умолчанию создаётся JAR, но можно конфигурировать в
pom.xmlдля других типов (WAR, EAR, FAT JAR)