Maven широко известен как мощный инструмент автоматизации сборки, но это гораздо больше. Это комплексный инструмент управления проектами, который упрощает весь процесс сборки, управление зависимостями и создание документации. В этом посте мы рассмотрим различные аспекты Maven и подробно разберемся в его возможностях.
Основные особенности Maven
1.Генерация сборки
2. Управление зависимостями
3.Документация
Когда вы выполняете такие команды, как mvn build или mvn Deploy, Maven просматривает файл pom.xml, который содержит все конфигурации, и действует соответствующим образом. Давайте углубимся в структуру pom.xml и ее значение.
Файл POM
```
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.example my-app 1.0-SNAPSHOT jar 1.8 1.8 5.2.8.RELEASE org.springframework spring-core ${spring.version} org.springframework spring-context ${spring.version} junit junit 4.12 test org.apache.maven.plugins maven-compiler-plugin 3.8.1 ${maven.compiler.target} org.apache.maven.plugins maven-surefire-plugin 2.22.2 central https://repo.maven.apache.org/maven2 releases http://repo.mycompany.com/releases snapshots http://repo.mycompany.com/snapshots
Давайте декодируем POM-файл:
**Файл pom.xml следует определенной схеме XML (определенной в xsi:schemaLocation:), которая гарантирует, что он придерживается правильной структуры, которую проверяет Maven. Вот пример:
Ключевые элементы:
Родительский POM:
Каждый файл POM в Spring Boot имеет родительский POM. Если родительский элемент не определен, родительским становится супер POM.
GroupId, ArtifactId и версия:
Эти элементы однозначно идентифицируют проект в Maven Central.
com.example my-app 1.0-SNAPSHOT jar
- 1.8
central https://repo.maven.apache.org/maven2
Зависимости: список зависимостей проекта.
org.springframework.boot spring-boot-starter-web 2.3.4.RELEASE
Жизненный цикл сборки Maven
Maven следует определенному жизненному циклу сборки, состоящему из нескольких этапов:
Подтвердить:
Проверяет структуру проекта.
Компилировать:
Преобразует код Java в байт-код (файлы .class) и помещает их в папку target/.
Тест:
Запускает тестовые примеры, расположенные в каталоге test/.
Упаковка:
Генерирует файлы JAR/WAR из скомпилированного байт-кода и сохраняет их в папке target/.
Проверять:
Проверяет целостность посылки.
Установить:
Устанавливает пакет в локальный репозиторий.
Развертывать:
Загружает пакет в удаленный репозиторий.
Настройка процесса сборки:
Maven обеспечивает гибкость для добавления конкретных целей на каждом этапе с помощью элемента. Вы также можете создавать и использовать плагины для расширения функциональности Maven.
org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8
*Установить с помощью maven: *
Он устанавливает файл jar, который мы создали на этапе компиляции после завершения тестирования, упаковки и проверки.
здесь он создает папку m2, в которой хранятся все зависимости. Мы можем изменить расположение этой папки в файле settings.xml в разделе
Развертывание с помощью Maven
Конфигурация развертывания указывается внутри элемента.
internal.repo http://repo.mycompany.com/maven2
Совет: мы можем предоставить учетные данные в файле settings.xml внутри папки .m2/repository.
Будьте в курсе событий Maven и осваивайте его нюансы, чтобы значительно улучшить управление проектами и развить навыки автоматизации. Помните, Maven — это больше, чем просто инструмент сборки, это командный центр проекта. Погрузитесь глубже, исследуйте новые плагины и продолжайте экспериментировать. Чем больше мы взаимодействуем с Maven, тем эффективнее становится наш процесс разработки. Продолжайте расширять границы и позвольте Maven сделать все остальное — в конце концов, это все равно, что иметь швейцарский армейский нож для управления вашими проектами!
Большое спасибо за чтение, буду признателен за ваши ценные отзывы.
Также сообщите мне в комментариях, если вы встретите какие-нибудь интересные плагины.
Не забудьте поставить лайк, поделиться и подписаться.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3