Урок за 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, където преди това е бил част от проекта в Джакарта. Maven е мощен инструмент за автоматизация на изграждането, който се използва предимно за базирани на Java проекти. Maven ви помага да се справите с два критични аспекта на изграждането на софтуер -



  • Той описва как се изгражда софтуерът
  • Той описва зависимостите.

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

Файлът Project Object Model (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

От друга страна, чистият жизнен цикъл се състои от 3 фази, докато жизненият цикъл на обекта се състои от 4 фази.

2. Фази на Maven

Фазата на Maven не е нищо друго освен етап от жизнения цикъл на Maven build. Всяка фаза изпълнява определена задача.

Ето няколко важни фази в жизнения цикъл на компилацията по подразбиране -

какво прави .trim в java
  • валидирайте - Тази фаза проверява дали е налице цялата информация, необходима за компилацията
  • компилиране - Тази фаза компилира изходния код
  • тест-компилация - Тази фаза компилира изходния код на теста
  • тест - Тази фаза изпълнява модулни тестове
  • пакет - Тази фаза пакети компилира изходния код във формат за разпространение (буркан, война)
  • интеграционен тест - Тази фаза обработва и разгръща пакета, ако е необходимо за изпълнение на тестове за интеграция
  • Инсталирай - Тази фаза инсталира пакета в локално хранилище
  • разполагане - Тази фаза копира пакета в отдалеченото хранилище

Maven изпълнява фази в определен ред. Това означава, че ако изпълним конкретна фаза с помощта на командата като mvn, това няма да изпълни само определената фаза, но и всички предходни фази.

Например, ако стартирате командата mvn deploy, т.е. фазата на разполагане, която е последната фаза в жизнения цикъл по подразбиране, тогава това ще изпълни и всички фази преди фазата на разполагане.

3. Цели на Maven

Последователност от цели представлява фаза и всяка цел изпълнява определена задача. Когато стартирате фаза, Maven изпълнява всички цели в ред, който е свързан с тази фаза. Използваният синтаксис е плъгин: цел. Някои от фазите и обвързаните с тях цели по подразбиране са както следва:

  • компилатор: компилация - фаза на компилиране
  • компилатор: тест - фаза тест-компилация
  • сигурен: тест - фаза на изпитване
  • install: install - инсталационна фаза
  • буркан и война: война - фаза на пакета

Приставката Maven е група от цели. Тези цели обаче не са непременно всички свързани с една и съща фаза.Например приставката Maven Failsafe, която отговаря за провеждането на тестове за интеграция. За модулно тестване ви е необходим плъгин за сигурен Maven.

как да издигна нещо до степен в Java

Демо проект

В този раздел на Мейвън урок, ще разгледаме демонстрационен проект. За да демонстрирам как да изградя проект, използвайки Maven, създадох Проект Java заедно с TestNG с помощта на Eclipse IDE. Това е много проста програма, в която съм написал код за тестване на заглавието на уебсайт.

Програмата автоматично ще стартира уеб браузър, ще отиде до уебсайта, споменат в кода, ще вземе заглавието на тази уеб страница и ще го сравни с очакваното заглавие. Ако действителното заглавие и очакваното заглавие съвпадат, тогава тестовият случай преминава иначе, той не успява.

Така че за този проект имате нужда , Maven и Eclipse изтеглени във вашата система. Версиите, които използвам в моята система, са както следва -

  1. Затъмнение - Enterprise Edition версия 4.12.0 (2019-06)
  2. Java - версия 1.8.0_211
  3. Мейвън - версия 3.6.1
  • Освен това, трябва да изтеглите приставката TestNG за Eclipse и можете да я изтеглите, като изпълните следните стъпки -
    • Отворете Eclipse и отидете на Help. В Помощ щракнете върху пазара Eclipse.
    • Въведете TestNG в полето Find и щракнете върху Go. В резултатите ще видите „TestNG for Eclipse“. Трябва да го изтеглите.
  • След като настроите системата си с гореспоменатите неща, всички сте готови да създадете демонстрационен проект с помощта на Maven. Така че сега ще ви разкажа всички стъпки, необходими за това.
    • В Eclipse кликнете върху File -> New -> Maven Project.
    • Кликнете върху Създаване на прост проект (пропуснете избора на архетип) и след това кликнете върху следващия.
  • Сега ще видите прозорец с параметри като Group Id, Artifact Id и така нататък.
    • Идентификатор на групата е уникалният идентификатор на група, която притежава проекта.
    • Artifact Id е името на крайната компилационна единица.
    • Версията е версията на създадения артефакт. SNAPSHOT показва незавършено производство.
    • Опаковката може да бъде буркан, война или пом, в зависимост от вашия проект. За нашия проект ще изберем буркан. След това дайте името на вашия проект.

  • След като създадете проекта, ще видите структурата на проекта на вашия проект Maven. Тук можете да видите следните неща -
    • pom.xml
    • src и target
    • src / main / java
    • src / test / java
    • Зависимости на Maven
  • Сега създайте файл с клас в src / main / test и го наименувайте DemoClass. Този клас съдържа кода на Selenium, който използваме за тестване. Сега добавихме селен, зависимости TestNG и компилатор Maven и приставка Surefire към файла pom.xml. Кодът за DemoClass и pom.xml е даден по-долу:
пакет maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test public class DemoClass {@Test public void test () хвърля InterruptedException {// декларация и инстанциране на обекти / променливи //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriver драйвер = нов FirefoxDriver () // коментирайте горните 2 реда и коментирайте под 2 редове за използване на Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver драйвер = нов ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String ожидаемоTitle = 'Добре дошли: Mercury Tours' String actualTitle = '' // стартирайте Fire fox и го насочете към Base URL driver.get (baseUrl) // вземете действителната стойност на заглавието actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * сравнете действителното заглавие на страницата с очакваното и отпечатайте * резултата като „Приет“ или „Неуспешен“ * / ако (actualTitle.contentEquals (очакван заглавие)) {System.out.println ('Тестът е преминат!'}} else {System.out.println ('Тестът не е успешен')} // затваря 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 clean трябва да тествате проекта, тъй като сме написали кода за тестване на уеб приложението. Така че щракнете с десния бутон върху проект -> Изпълни като -> Maven тест. Това ще отвори уебсайта и ще съответства на заглавието му. Ако съвпада, тогава нашият тестов случай ще премине.

  • Също така можем да изпълним горните команди, като използваме команден ред. За това се нуждаем от пътя на файла pom.xml.

    • Можете да получите пътя, като щракнете с десния бутон върху файла pom.xml -> Properties -> Location.
    • Копирайте пътя, след това отворете командния ред и го поставете там с помощта на cd. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • След като направите това, можете отново да въведете команди на Maven като mvn clean и mvn test.

Така че това е от моя страна в този блог на Maven tutorial. Надявам се, че сте разбрали нещата, които обсъдихме в този урок на Maven.

След като разбрахте този урок на Maven, вижте това от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение за сертифициране на Edureka DevOps помага на обучаващите се да разберат какво е DevOps и да придобият опит в различни процеси и инструменти на DevOps като Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack и GIT за автоматизиране на множество стъпки в SDLC.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този урок на Maven и ние ще се свържем с вас