Водич за Мавен: Све што треба да знате да бисте започели



Овај блог на Мавен туториалу покрива све што требате знати да бисте започели с Мавеном за изградњу ваших пројеката.

Уместо да пишете дугачке скрипте за изградњу својих пројеката и ручно преузимате зависности, зашто не бисте користили Мавен и решили се овог нереда. Овај блог на Мавен туториалу покриваће све што вам је потребно да бисте започели употребу Мавена за свој пројекат. Након темељног разумевања овог водича за Мавен, следећи вероватни корак биће учење Јенкинса који покрива фазу континуиране интеграције .

У овом блогу о водичу за Мавен обрадићемо следеће теме:

  1. Зашто нам треба Мавен?
  2. Шта је Мавен?
  3. Мавен Архитектура
  4. Мавен животни циклус, фазе и циљеви
  5. Демо пројекат.

Зашто нам треба Мавен?

Ако радите на Јава пројектима, тада су вам већином потребне зависности. Зависности нису ништа друго доли библиотеке или ЈАР датотеке. Морате их преузети и додати ручно. Такође, задатак надоградње софтверског снопа за ваш пројекат обављен је ручно пре Мавена. Дакле, постојала је потреба за бољим алатом за израду која би се бавила таквим проблемима.





Овде Мавен долази у слику. Мавен може решити све ваше проблеме повезане са зависностима. Само треба да наведете зависности и верзију софтвера коју желите у датотеци пом.кмл у Мавену, а Мавен ће се побринути за остало.Покушајмо сада да схватимо шта је тачно Мавен.

Шта је Мавен?

Пројекат Мавен развила је Апацхе Софтваре Фоундатион, где је раније био део пројекта у Џакарти. Мавен је моћан алат за аутоматизацију израде који се првенствено користи за пројекте засноване на Јави. Мавен вам помаже у решавању два критична аспекта израде софтвера -



  • Описује како се прави софтвер
  • Описује зависности.

Мавен више воли конвенцију него конфигурацију. Мавен динамички преузима Јава библиотеке и Мавен додатке из једног или више спремишта као што је Мавен Централ Репоситори и чува их у локалној кеш меморији. Артефакти локалних пројеката такође се могу ажурирати помоћу ове локалне кеш меморије. Мавен вам такође може помоћи у изради и управљању пројектима написаним на Ц #, Руби, Сцала и другим језицима.

Датотека Пројецт Објецт Модел (ПОМ) је КСМЛ датотека која садржи информације повезане са пројектом и информације о конфигурацији као што су зависности, изворни директоријум, додатак, циљеви итд. Које Мавен користи за изградњу пројекта. Када извршите мавен наредбу, дајете мавену ПОМ датотеку за извршавање наредби. Мавен чита датотеку пом.кмл да би извршио њену конфигурацију и операције.

Мавен циљеви

Мавен циљеви

Када неко треба да користи Мавен?

    1. Ако има превише зависности за пројекат.
    2. Када се верзија зависности често ажурира.
    3. Континуиране израде, интеграција и тестирање могу се лако руковати помоћу мавен-а.
    4. Када треба једноставан начин за генерисање документације из изворног кода, компајлирање изворног кода, паковање компајлираног кода у ЈАР датотеке или ЗИП датотеке.

Мавен Архитектура

Мавен животни циклус, фазе и циљеви

1. Мавен животни циклус



Постоји специфичан животни циклус који Мавен следи да би применио и дистрибуирао циљни пројекат.

Постоје три уграђена животна циклуса:

  • Уобичајено - Ово је главни животни циклус Мавена, јер је одговоран за имплементацију пројеката.
  • чист - Овај животни циклус се користи за чишћење пројекта и уклањање свих датотека генерисаних претходном градњом.
  • сајт - Циљ овог животног циклуса је стварање документације локације пројекта.

Сваки животни циклус састоји се од низа фаза. Подразумевани животни циклус израде састоји се од 23 фазе, јер је то главни животни циклус израде Мавена

С друге стране, чисти животни циклус састоји се од 3 фазе, док се животни циклус локације састоји од 4 фазе.

2. Мавен фазе

Мавенова фаза није ништа друго до фаза у Мавеновом животном циклусу. Свака фаза извршава одређени задатак.

ц ++ сорт ()

Ево неколико важних фаза у заданом животном циклусу израде -

  • потврдити - Ова фаза проверава да ли су доступне све информације потребне за израду
  • саставити - Ова фаза компајлира изворни код
  • тест-компајлирати - Ова фаза компајлира изворни код теста
  • тест - Ова фаза покреће јединствене тестове
  • пакет - Ова фаза пакета компајлирала је изворни код у формат који се може дистрибуирати (јар, рат)
  • интеграција-тест - Ова фаза обрађује и поставља пакет ако је потребно за покретање интеграционих тестова
  • инсталирај - Ова фаза инсталира пакет у локално спремиште
  • развити - Ова фаза копира пакет у удаљено спремиште

Мавен извршава фазе по одређеном редоследу. То значи да ако покренемо одређену фазу помоћу наредбе као што је мвн, ово неће извршити само наведену фазу већ и све претходне фазе.

На пример, ако покренете команду мвн деплои, односно фазу размештања која је последња фаза у заданом животном циклусу градње, тада ће се извршавати и све фазе пре фазе примене.

3. Голови Мавена

Низ циљева чини фазу и сваки циљ извршава одређени задатак. Када покренете фазу, тада Мавен извршава све циљеве по редоследу који је повезан са том фазом. Синтакса која се користи је додатак: циљ. Неке од фаза и задати циљеви везани за њих су следећи:

  • компајлер: компајлирање - фаза компајлирања
  • компајлер: тест - фаза тест-компајлирање
  • сигурно: тест - фаза испитивања
  • инсталл: инсталл - фаза инсталације
  • тегла и рат: рат - фаза пакета

Додатак Мавен је група циљева. Међутим, ови циљеви нису нужно сви везани за исту фазу.На пример, додатак Мавен Фаилсафе који је одговоран за покретање тестова интеграције. За јединствено тестирање потребан вам је Мавен сурефире додатак.

Демо пројекат

У овом одељку Мавен туториал, погледаћемо демо пројекат. Да бих демонстрирао како се прави пројекат помоћу Мавена, креирао сам Јава пројекат заједно са ТестНГ користећи Ецлипсе ИДЕ. Ово је врло једноставан програм где сам написао код за тестирање наслова веб странице.

Програм ће аутоматски покренути веб прегледач, доћи до веб локације поменуте у коду, дохватити наслов те веб странице и упоредити га са очекиваним насловом. Ако се стварни наслов и очекивани наслов подударају, тест случај пролази у супротном случају не успева.

Дакле, за овај пројекат вам је потребан , Мавен и Ецлипсе преузете на ваш систем. Верзије које користим на свом систему су следеће -

  1. Ецлипсе - Ентерприсе Едитион верзија 4.12.0 (2019-06)
  2. Јава - верзија 1.8.0_211
  3. Мавен - верзија 3.6.1
  • Поред овога, потребно је да преузмете додатак ТестНГ за Ецлипсе и можете га преузети помоћу следећих корака -
    • Отворите Ецлипсе и идите на Хелп. У помоћи кликните на Ецлипсе тржиште.
    • Упишите ТестНГ у поље Пронађи и кликните на дугме Иди. У резултатима ћете видети „ТестНГ фор Ецлипсе“. Треба да га преузмете.
  • Након што свој систем подесите са горе поменутим стварима, сви сте спремни да креирате демо пројекат користећи Мавен. Дакле, сада ћу вам рећи све кораке потребне за ово.
    • У Ецлипсеу кликните на Филе -> Нев -> Мавен Пројецт.
    • Кликните на Цреате а симпле пројецт (прескочи избор архетипа), а затим кликните на нект.
  • Сада ћете видети прозор са параметрима као што су Ид групе, Артефакт Ид и тако даље.
    • Ид групе је јединствени ИД групе која је власник пројекта.
    • Артефацт Ид је назив последње јединице компилације.
    • Верзија је верзија креираног артефакта. СНАПСХОТ указује на рад у току.
    • Паковање може бити јар, рат или пом, зависно од вашег пројекта. За наш пројекат ћемо одабрати теглу. Затим наведите име свог пројекта.

  • Једном када креирате пројекат, видећете структуру пројекта вашег Мавен пројекта. Овде можете видети следеће ствари -
    • пом.кмл
    • срц и циљ
    • срц / маин / јава
    • срц / тест / јава
    • Мавен зависности
  • Сада креирајте датотеку класе у срц / маин / тест и назовите је ДемоЦласс. Ова класа садржи селенијски код који користимо за тестирање. Сада смо у датотеку пом.кмл додали селениум, зависности ТестНГ и компајлер Мавен и додатак Сурефире. Код за ДемоЦласс и пом.кмл је дат у наставку:
пакет мавен.селениум.тестнг импорт орг.опенка.селениум.ВебДривер импорт орг.опенка.селениум.цхроме.ЦхромеДривер импорт орг.тестнг.аннотатионс.Тест публиц цласс ДемоЦласс {@Тест публиц воид тест () баца ИнтерруптедЕкцептион {// декларацију и инстанцирање објеката / променљивих //Систем.сетПроперти('вебдривер.гецко.дривер','/хоме/едурека/Довнлоадс/гецкодривер ') // ВебДривер дривер = нови ФирефокДривер () // коментариши горња 2 реда и коментариши испод 2 редови за коришћење Цхроме Систем.сетПроперти ('вебдривер.цхроме.дривер', 'Ц: УсерсАрвинд ПхулареДесктопцхромедривер.еке') ВебДривер управљачки програм = нови ЦхромеДривер () Стринг басеУрл = 'хттп://невтоурс.демоаут.цом/' Стринг очекујеТитле = 'Добродошли: Мерцури Тоурс' Стринг ацтуалТитле = '' // покрените Фире фок и усмерите га на основни УРЛ дривер.гет (басеУрл) // добијте стварну вредност наслова ацтуалТитле = дривер.гетТитле () Тхреад.слееп (3000 ) / * * упоредите стварни наслов странице са очекиваним и испишите * резултат као 'Прошло' или 'Није успело' * / ако (ацтуалТитле.цонтентЕкуалс (очекује се наслов)) {Систем.оут.принтлн ('Тест је положен!')} елсе {Систем.оут.принтлн ('Тест није успео')} // затвори Фире фок дривер.цлосе ()}}
4.0.0 мавен.селениум мавен.селениум.тестнг 0.0.1-СНАПСХОТ ЕдурекаДемо 2.53.1 6.9.10 орг.апацхе.мавен.плугинс мавен-цомпилер-плугин 1.8 1.8 орг.апацхе.мавен.плугинс мавен-сурефире-плугин 2.18 .1 тестнг.кмл орг.селениумхк.селениум селениум-јава 3.141.59 орг.тестнг тестнг 6.14.3 тест
  • Пре покретања пројекта морамо претворити датотеку класе ДемоЦласс у датотеку ТестНГ. Да бисте то урадили, кликните десним тастером миша на ДемоЦласс -> ТестНГ -> Цонверт то ТестНГ.

  • Сада да бисте покренули пројекат, кликните десним тастером миша на пројекат -> Покрени као -> Мавен цлеан. Ово ће очистити пројекат уклањањем свих претходних верзија.

  • Након што Мавен очистите, треба да тестирате пројекат јер смо написали код за тестирање веб апликације. Дакле, кликните десним тастером миша на пројекат -> Покрени као -> Мавен тест. Ово ће отворити веб страницу и подударати се са насловом веб странице. Ако се подудара, наш тест ће проћи.

  • Такође можемо извршити горе наведене наредбе помоћу командне линије. За то нам је потребан пут до датотеке пом.кмл.

    • Путање можете добити десним кликом на датотеку пом.кмл -> Својства -> Локација.
    • Копирајте путању, а затим отворите командну линију и залепите је тамо користећи цд. цд Ц: / Усерс / Арвинд Пхуларе / ецлипсе-воркспаце / мавен.селениум.тестнг.
    • Једном када то урадите, можете поново откуцати Мавен наредбе као што су мвн цлеан и мвн тест.

Дакле, то је то са моје стране у овом блогу на Мавен туториалу. Надам се да сте разумели ствари о којима смо разговарали у овом водичу за Мавен.

Сад кад сте разумели овај водич за Мавен, погледајте ово Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250 000 задовољних ученика раширених широм света. Едурека ДевОпс сертификациони курс помаже ученицима да разумеју шта је ДевОпс и стекну стручност у различитим ДевОпс процесима и алатима као што су Пуппет, Јенкинс, Нагиос, Ансибле, Цхеф, Салтстацк и ГИТ за аутоматизацију више корака у СДЛЦ-у.

инсталирајте пхп 7 на Виндовс

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог водича за Мавен и јавићемо вам се