Учебник Maven: все, что вам нужно знать, чтобы начать работу



В этом блоге об учебнике Maven рассказывается обо всем, что вам нужно знать, чтобы начать работу с Maven для создания ваших проектов.

Вместо того, чтобы писать длинные сценарии для сборки ваших проектов и вручную загружать зависимости, почему бы не использовать Maven и избавиться от этого беспорядка. В этом блоге, посвященном учебнику по Maven, будет рассказано все, что вам нужно, чтобы начать использовать Maven для вашего проекта. После тщательного понимания этого руководства по Maven следующим вероятным шагом будет изучение Jenkins, охватывающего этап непрерывной интеграции .

В этом блоге об уроке Maven мы рассмотрим следующие темы:

  1. Зачем нам нужен Maven?
  2. Что такое Maven?
  3. Архитектура Maven
  4. Жизненный цикл Maven, фазы и цели
  5. Демо-проект.

Зачем нам нужен Maven?

Если вы работаете над проектами Java, большую часть времени вам нужны зависимости. Зависимости - это не что иное, как библиотеки или файлы JAR. Вам нужно скачать и добавить их вручную. Кроме того, до Maven задача обновления стека программного обеспечения для вашего проекта выполнялась вручную. Таким образом, возникла потребность в лучшем инструменте сборки, который справился бы с такими проблемами.





Здесь на сцену выходит Maven. Maven может решить все ваши проблемы, связанные с зависимостями. Вам просто нужно указать зависимости и версию программного обеспечения, которую вы хотите, в файле pom.xml в Maven, а Maven позаботится обо всем остальном.Итак, давайте попробуем понять, что такое Maven.

Что такое Maven?

Проект Maven разработан Apache Software Foundation, где ранее он был частью проекта Jakarta. Maven - это мощный инструмент автоматизации сборки, который в основном используется для проектов на основе Java. Maven помогает решить два важных аспекта создания программного обеспечения:



  • Он описывает, как создается программное обеспечение
  • Он описывает зависимости.

Maven предпочитает конвенцию конфигурации. Maven динамически загружает библиотеки Java и подключаемые модули Maven из одного или нескольких репозиториев, таких как Maven Central Repository, и сохраняет их в локальном кэше. Артефакты локальных проектов также можно обновлять с помощью этого локального кеша. Maven также может помочь вам создавать и управлять проектами, написанными на C #, Ruby, Scala и других языках.

Файл объектной модели проекта (POM) - это файл XML, содержащий информацию, относящуюся к проекту, и информацию о конфигурации, такую ​​как зависимости, исходный каталог, плагин, цели и т. Д., Используемые Maven для создания проекта. Когда вы выполняете команду maven, вы даете maven файл POM для выполнения команд. Maven читает файл pom.xml, чтобы выполнить его настройку и операции.

Цели Maven

Цели Maven

Когда следует использовать Maven?

    1. Если у проекта слишком много зависимостей.
    2. При частом обновлении версии зависимости.
    3. Непрерывные сборки, интеграция и тестирование легко выполняются с помощью maven.
    4. Когда нужен простой способ создания документации из исходного кода, компиляция исходного кода, упаковка скомпилированного кода в файлы JAR или ZIP-файлы.

Архитектура Maven

Жизненный цикл Maven, фазы и цели

1. Жизненный цикл Maven



Существует определенный жизненный цикл, которому следует Maven для развертывания и распространения целевого проекта.

Есть три встроенных жизненных цикла:

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

Каждый жизненный цикл состоит из последовательности фаз. Жизненный цикл сборки по умолчанию состоит из 23 фаз, так как это основной жизненный цикл сборки Maven.

что такое тупик в Java

С другой стороны, чистый жизненный цикл состоит из 3 фаз, в то время как жизненный цикл площадки состоит из 4 фаз.

2. Фазы Maven

Фаза Maven - это не что иное, как этап жизненного цикла сборки Maven. На каждом этапе выполняется определенная задача.

Вот несколько важных этапов жизненного цикла сборки по умолчанию:

  • подтверждать - На этом этапе проверяется, доступна ли вся информация, необходимая для сборки
  • компилировать - На этом этапе компилируется исходный код
  • тестовая компиляция - На этом этапе компилируется исходный код теста
  • тестовое задание - На этом этапе выполняются модульные тесты
  • пакет - На этом этапе скомпилированный исходный код упаковывается в распространяемый формат (jar, war)
  • интеграционный тест - На этом этапе выполняется обработка и развертывание пакета при необходимости для запуска интеграционных тестов.
  • установить - На этом этапе пакет устанавливается в локальный репозиторий.
  • развернуть - На этом этапе пакет копируется в удаленный репозиторий.

Maven выполняет фазы в определенном порядке. Это означает, что если мы запустим конкретную фазу с помощью такой команды, как mvn, это выполнит не только указанную фазу, но и все предыдущие фазы.

Например, если вы запустите команду mvn deploy, то есть фазу развертывания, которая является последней фазой в жизненном цикле сборки по умолчанию, тогда это также выполнит все фазы до фазы развертывания.

3. Цели Maven

Последовательность целей составляет этап, и каждая цель выполняет определенную задачу. Когда вы запускаете фазу, Maven выполняет все цели в порядке, связанном с этой фазой. Используемый синтаксис: plugin: goal. Вот некоторые из этапов и связанных с ними целей по умолчанию:

  • компилятор: компиляция - этап компиляции
  • компилятор: test - фаза тестовой компиляции
  • surefire: test - фаза тестирования
  • install: install - этап установки
  • jar and war: war - этап пакета

Плагин Maven - это группа целей. Однако не обязательно, чтобы все эти цели были привязаны к одной и той же фазе.Например, плагин Maven Failsafe, который отвечает за выполнение интеграционных тестов. Для модульного тестирования вам понадобится плагин Maven surefire.

Демонстрационный проект

В этом разделе Maven Учебник, мы рассмотрим демонстрационный проект. Чтобы продемонстрировать, как создать проект с помощью Maven, я создал Проект Java вместе с TestNG с использованием Eclipse IDE. Это очень простая программа, в которой я написал код для проверки названия веб-сайта.

Программа автоматически запустит веб-браузер, перейдет на веб-сайт, упомянутый в коде, получит заголовок этой веб-страницы и сравнит его с ожидаемым заголовком. Если фактический заголовок и ожидаемый заголовок совпадают, тогда тестовый пример проходит, иначе он не выполняется.

Итак, для этого проекта вам понадобится , Maven и Eclipse загружены в вашу систему. Версии, которые я использую в своей системе, следующие:

  1. Затмение - Enterprise Edition версии 4.12.0 (2019-06)
  2. Ява - версия 1.8.0_211
  3. Maven - версия 3.6.1
  • Помимо этого, вам необходимо загрузить плагин TestNG для Eclipse, и вы можете загрузить его, выполнив следующие шаги:
    • Откройте Eclipse и перейдите в раздел «Справка». В разделе 'Справка' нажмите на торговую площадку Eclipse.
    • Введите TestNG в поле «Найти» и нажмите «Перейти». В результате вы увидите «TestNG для Eclipse». Вам нужно его скачать.
  • После того, как вы настроите свою систему с помощью вышеупомянутых вещей, вы все настроены для создания демонстрационного проекта с использованием Maven. Итак, теперь я расскажу вам все шаги, необходимые для этого.
    • В Eclipse щелкните File -> New -> Maven Project.
    • Нажмите «Создать простой проект» (пропустить выбор архетипа), а затем нажмите «Далее».
  • Теперь вы увидите окно с такими параметрами, как Group Id, Artifact Id и так далее.
    • Group Id - это уникальный идентификатор группы, владеющей проектом.
    • Идентификатор артефакта - это имя конечной единицы компиляции.
    • Версия - это версия созданного артефакта. SNAPSHOT указывает на незавершенную работу.
    • Упаковка может быть банкой, варкой или помпонами в зависимости от вашего проекта. Для нашего проекта выберем jar. Затем дайте название вашему проекту.

  • После создания проекта вы увидите структуру проекта Maven. Здесь вы можете увидеть следующее -
    • pom.xml
    • src и цель
    • SRC / основной / Java
    • SRC / тест / Java
    • Зависимости Maven
  • Теперь создайте файл класса в src / main / test и назовите его DemoClass. Этот класс содержит код Selenium, который мы используем для тестирования. Теперь мы добавили Selenium, зависимости TestNG, компилятор Maven и плагин Surefire в файл pom.xml. Код для DemoClass и pom.xml приведен ниже:
package maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test общедоступный класс DemoClass {@Test public void test () выбрасывает объявление InterruptedException {// и создание экземпляров объектов / переменных //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // Драйвер WebDriver = new FirefoxDriver () // прокомментируйте 2 строки выше и раскомментируйте 2 строки ниже строки для использования Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') Драйвер WebDriver = новый ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' Ожидаемая строкаTitle = 'Welcome: Mercury Tours' String actualTitle = '' // запускаем Fire fox и направляем его на базовый URL-адрес driver.get (baseUrl) // получаем фактическое значение заголовка actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * сравнить фактический заголовок страницы с ожидаемым и вывести * результат как «Пройдено» или «Не выполнено» * / if (actualTitle.contentEquals (expectedTitle)) {System.out.println ('Test Passed!')} else {System.out.println ('Test Failed')} // закрываем Fire fox driver.close ()}}
4.0.0 maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-surefire-plugin 2.18 .1 testng.xml org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 6.14.3 тест
  • Перед запуском проекта нам нужно преобразовать файл класса DemoClass в файл TestNG. Для этого щелкните правой кнопкой мыши DemoClass -> TestNG -> Convert to TestNG.

  • Теперь, чтобы запустить проект, щелкните правой кнопкой мыши проект -> Запуск от имени -> Maven clean. Это очистит проект, удалив все предыдущие сборки.

  • После очистки Maven вам необходимо протестировать проект, поскольку мы написали код для тестирования веб-приложения. Итак, щелкните правой кнопкой мыши проект -> Запуск от имени -> Maven test. Это откроет веб-сайт и соответствует названию веб-сайта. Если он совпадает, наш тестовый пример будет пройден.

  • Мы также можем выполнить вышеуказанные команды с помощью командной строки. Для этого нам понадобится путь к файлу pom.xml.

    • Вы можете получить путь, щелкнув правой кнопкой мыши файл pom.xml -> Свойства -> Местоположение.
    • Скопируйте путь, затем откройте командную строку и вставьте ее туда с помощью компакт-диска. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Как только вы это сделаете, вы снова сможете вводить команды Maven, такие как mvn clean и mvn test.

Итак, это моя сторона в этом блоге по учебнику Maven. Надеюсь, вы поняли то, что мы обсуждали в этом руководстве по Maven.

Теперь, когда вы поняли это руководство по Maven, ознакомьтесь с этим от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Учебный курс Edureka DevOps Certification Training помогает учащимся понять, что такое DevOps, и получить опыт работы с различными процессами и инструментами DevOps, такими как Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack и GIT для автоматизации нескольких этапов в SDLC.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого руководства по Maven, и мы свяжемся с вами.