Рубрики
Без рубрики

Строительство с помощью Maven

Введение Это будет серия, в которой я попытаюсь объяснить концепции… С тегом java, maven.

  • Это будет серия, в которой я попытаюсь объяснить концепции разработки java-приложений с помощью Maven. Я расскажу нам об онлайн-книге, размещенной на СВЯЗЬ . Не стесняйтесь проверять книгу самостоятельно, если вы чувствуете себя потерянными или сбитыми с толку. Это будет серия, основанная на проектах, однако этот первый пост посвящен пониманию Maven на высоком уровне. В будущих сообщениях в блоге также будет размещено видео на YouTube, посвященное проектам.

Что такое Maven?

  • Если вы когда-либо создавали проект с реактором с пружинной загрузкой, то вы определенно выиграли от некоторой автоматизации сборки. Для проектов React у вас есть Webpack, а для проектов Spring Boot у вас есть Maven. Это возвращает нас к нашему первоначальному вопросу: что такое Maven? Ну, некоторые люди могли бы назвать Maven инструментом для сборки но на самом деле это нечто большее. Maven – это инструмент управления проектами, который по сути является инструментом сборки с большим количеством функций. Это предоставляет дополнительные возможности сборки, мы можем запускать отчеты, создавать веб-сайт и облегчать общение между рабочей командой. Когда мы используем Maven, мы описываем ваш проект с использованием объектной модели проекта (POM.xml файл). Затем Maven может предоставить логику вашему проекту, которая определена в плагинах Maven. Так что же такое Maven? Это инструмент для сборки на стероидах.

Соглашение По Конфигурации

  • соглашение о конфигурации просто означает, что библиотеки, системы и платформы должны иметь некоторые разумные значения по умолчанию. Maven предоставляет это нашим проектам бесплатно. Таким образом, мы можем предположить, что исходный код находится в/src/main/java, ресурсы находятся в/src/main/resources, тесты находятся в/src/main/test, и проект гарантированно находится в файле JAR. Существует больше соглашений о коде, которые использует Maven enforcer, но это дает нам общее представление. Характер мнений Maven – это то, что сделало его таким популярным. Благодаря этой природе мнений мы можем переходить от одного проекта к другому и практически не тратить время на разработку проекта. У Maven есть жизненный цикл и набор распространенных плагинов, которые знают, как создавать и собирать программное обеспечение (подробнее об этом в более позднем посте). Как разработчикам программного обеспечения, все, что нам нужно сделать, это следовать соглашениям, которые предоставляет Maven, он сделает все остальное.

Общий интерфейс

  • До этого Maven предоставлял то, что является “общим интерфейсом”, что упрощало весь процесс создания программного обеспечения. В каждом проекте обычно был кто-то, кто занимался исключительно управлением процессом пользовательской сборки. Те дни были известны как время инженера-строителя. В те времена это могло занять пару часов или даже пару дней, чтобы убедиться, что у вас есть правильная сборка системы. Однако теперь, благодаря “общему интерфейсу”, который представляет собой все самоуверенные функции, которые навязывает нам Maven, все, что нам нужно сделать, это загрузить код, а затем выполнить команду “mvn install”.

Универсальное повторное использование с помощью плагинов Maven

  • в основном плагины придают дополнительное поведение построению наших проектов. Maven извлекает как зависимости, так и плагины из удаленного репозитория. Это то, что обеспечивает универсальное повторное использование логики сборки.
  • теперь благодаря плагинам нам не нужно постоянно обновлять наше программное обеспечение. Мы можем использовать плагин Maven Surefire, который отвечает за выполнение модульных тестов. Когда для этого плагина создается новое обновление, нам не нужно беспокоиться о взломе кода или какой-либо обратной совместимости.
  • У Maven есть плагины для всего, компиляции кода, генерации кода, развертывания на серверах и многого другого. Плагины загружаются из удаленных репозиториев, поэтому мы можем использовать универсальное повторное использование с помощью плагинов Maven.

Концептуальная модель проекта

  • Maven поддерживает модель проекта, и с помощью Maven мы не просто компилируем исходный код в байтовый код, мы проектируем целый программный проект, мы описываем атрибуты, лицензию на проекты, кто является разработчиками, каковы зависимости и многое другое. “Концептуальная модель” проекта выглядит следующим образом: (сейчас это может привести к путанице, но в будущих сообщениях будет подробно описано)

Управление зависимостями

  • поскольку проект определяется как уникальный набор координат, состоящий из идентификатора группы, идентификатора артефакта и версии, проекты теперь могут использовать координаты для объявления зависимостей.

Удаленные Хранилища

  • мы можем использовать координаты, определенные в объектной модели проекта Maven(POM.xml файл) для создания хранилищ артефактов Maven.
  • Краткое слово для тех, кто не знаком с тем, что такое артефакт. В общих терминах программного обеспечения артефакт – это нечто, созданное в процессе разработки программного обеспечения. В Maven артефакт является результатом сборки Maven и, как правило, представляет собой файл WAR или JAR.

Универсальное повторное использование логики сборки

  • Плагины содержат логику, которая работает с описательными данными и параметрами конфигурации, определенными в объектной модели проекта(POM.xml файл).

Переносимость/Интеграция инструментов

  • такие инструменты, как NetBeans, Eclipse и Intellij, теперь имеют общее место для поиска информации о проекте.
  • Я хочу упомянуть несколько вещей, прежде чем закончить этот пост в блоге
  • 1) Я пропущу следующую главу в Книге . Речь идет об установке Maven, и быстрый поиск на YouTube даст объяснение, как это сделать.
  • 2) следующим сообщением будет глава 3 книги Nexus , в которой мы создадим простой проект Maven.
  • 3) Наконец, спасибо, что нашли время в свой рабочий день, чтобы прочитать этот мой пост в блоге. Я надеюсь, что благодаря этому мы оба сможем стать лучшими разработчиками и если у вас есть какие-либо вопросы или проблемы, пожалуйста, прокомментируйте ниже или свяжитесь со мной по Твиттер .

Оригинал: “https://dev.to/theplebdev/building-with-maven-35p8”