what is maven maven tutorial
Овај уводни водич за Мавен објасниће шта је Мавен, зашто се користи Мавен, његова дефиниција, основне терминологије, типови Мавен складишта итд.:
У овом упутству ћемо истражити Мавен, његову дефиницију, преглед, оперативне кораке на Мавену и разумети основне терминологије на Мавену, активности које обавља Мавен и типове Мавен спремишта у детаље.
Почнимо!!
Списак лекција у овој серији Мавен
Туториал # 1: Шта је Мавен - Водич за почетнике за Мавен (Овај водич)
Туториал # 2: Шта су ПОМ (пројектни модел пројекта) и Пом.Ксмл у Мавену
Туториал # 3: Градле Вс Мавен и Мавен додаци
Туториал # 4: Зависност Мавена и интеграција са Ецлипсеом и ТестНГ-ом
Водич бр. 5: Мавен са Јенкинс-ом и Мавен-овом документацијом за пројекте
Лекција # 6: 31 најчешће постављана питања и одговори у интервјуу са Мавеном
Шта ћете научити:
Шта је Мавен
Мавен је алатка за изградњу и управљање пројектима која се обично користи у оквирима изграђеним у Јави. Развила га је Апацхе Софтваре Фоундатион. Мавен, реч из јидишког језика, значи „сакупљач знања“. Представљен је како би се покренуо процес покретања пројекта Јакарта Турбине Пројецт.
Мавеном управља датотека пројектног модела (пом). Док радимо са оквирима уграђеним у Јаву, често морамо да се носимо са бројним зависностима.
Пре него што је Мавен ушао у слику, све зависности, које нису ништа друго до ЈАР датотеке, морале су се ручно додати у наш оквир. Такође, у нашем пројекту морали смо да водимо рачуна о надоградњи софтвера.
како отворити свф датотеку у хрому
Мавен осигурава да се ЈАР-ови пројеката и библиотеке аутоматски преузимају. У датотеци пом .кмл морају бити описане само информације које се односе на верзије софтвера и врсту зависности.
Мавен може да брине о пројектима на Руби, Ц # и другим језицима. Преузима задатак изградње пројеката, њихових зависности и документације.
АНТ, још један алат који је развила Апацхе Софтваре Фоундатион, такође се користи за изградњу и примену пројеката. Али Мавен је напреднији од АНТ-а. Попут АНТ-а, и Мавен је поједноставио поступак израде. Тако је, укратко, Мавен олакшао живот програмерима.
Зашто користити Мавен
Мавен обавља следеће активности:
- Спремиште за добијање зависности.
- Имајући сличну структуру директоријума у целој организацији.
- Интеграција са алатима за континуирану интеграцију попут Јенкинса.
- Додаци за извршавање теста.
- Пружа информације о томе како се развија софтвер / пројекат.
- Процес израде је поједностављен и доследан.
- Пружа смернице за најбоље праксе које треба следити у пројекту.
- Побољшава перформансе пројеката.
- Лако се пребацити на нове атрибуте Мавена.
- Интеграција са алатима за контролу верзија као што је Гит.
Мавен се брине о процесима попут издања, дистрибуције, извештавања, израде, документације и СЦМ-ова. Мавен се повезује са централним спремиштем Мавен и учитава их локално. Неки од ИДЕ-а који подржавају развој пројеката са Мавен-ом су НетБеанс, Ецлипсе, ИнтеллиЈ итд.
Мавен треба користити у нашим пројектима у следећим сценаријима:
- Ако пројекат захтева велики број зависности.
- Ако је верзији зависности потребна честа надоградња.
- Ако пројекат треба да има брзу документацију, компајлирање и паковање изворног кода у ЈАР или ЗИП датотеке.
Оперативни кораци Мавена
# 1) Прво Мавен пролази кроз ПОМ .кмл датотеку.
#два) Зависности се учитавају у локално спремиште.
# 3) Пролази кроз уграђене животне циклусе Мавена као што је приказано доле:
- Уобичајено: Брине о примени пројекта.
- Чист: Уклања грешке, чиме се чисти пројекат и уклања артефакт произведен из претходног процеса израде.
- Сајт: Брине о документацији пројекта.
# 4) Сваки уграђени циклус има неколико фаза. На пример, подразумевано има двадесет и три фазе, док чисти, а сајт има три, односно четири фазе.
# 5) Сваки Мавенов циклус пролази кроз неколико фаза где одређена фаза има одређени циљ.
Неке од важних фаза су наведене у наставку:
- Потврди: Проверава да ли су доступни сви подаци о предусловима за завршетак израде.
- Саставити: Изворни код је састављен.
- Тест- компајлирање: Пробни изворни код је састављен.
- Тест: Јединствени тест случајеви се извршавају.
- Пакет: Изворни код се компајлира и спакује у ЈАР или ЗИП датотеке.
- Интеграциони тест: Пакет је примењен и ако постоје проблеми, извршавају се примери интеграционих тестова.
- Инсталл-Пацкаге: Инсталиран је у локалном спремишту.
- Развити: Копија пакета доступна је из удаљеног спремишта.
Ове фазе се морају извршити по реду. Такође, ако развити фаза, тј. завршна фаза Мавен циклуса мора бити изведена, а затим све претходне фазе тог циклуса морају бити успешно завршене.
Из командне линије, фазе се покрећу на следећи начин:
мвн , на пример, мвн потврдити
# 6) Група циљева Мавена чини фазу. Баш као и фазе Мавена, сваки циљ мора бити изведен у одређеном редоследу.
Циљ има следећу синтаксу:
Додатак: циљ
Овде смо разговарали о неким фазама заједно са циљевима који су им везани:
- компајлер: компајлирање (користи се у фази компилације)
- компајлер: тест (користи се у фази састављања теста)
- сигурни: тест (користи се у фази тестирања)
- инсталл: инсталл (користи се у фази инсталације)
- тегла: рат (користи се у фази паковања)
- рат: рат (користи се у фази паковања)
Оперативни кораци како Мавен ради су схематски приказани у наставку:
Терминологије у Мавену
- ПОМ : Означава пројектни објектни модел. То је КСМЛ датотека која садржи информације о пројекту, зависности присутне у пројекту, директоријум изворне датотеке, информације о додатку итд. Ово су неопходни подаци за Мавен да у потпуности изгради пројекат. Мавен чита пом датотеку да би добио све ове информације.
Мавен пројекат у Ецлипсе ИДЕ-у са исечком кода из ПОМ КСМЛ датотеке приказан је испод.
- ГроупИд : Препознаје наш пројекат јединствено из свих пројеката. ГроупИд је део датотеке пом. Често се каже као идентитет за групу пројеката.
- АртефацтИд : Јар датотека која је распоређена у спремиште Мавен. АртифацтИд је део датотеке пом. Често се каже као идентитет и име нашег пројекта.
- Верзија : Одређује верзију јар пројекта. Верзија је такође део датотеке пом.
Као што је приказано на горњој слици, то можемо видети, а ознаке чине део зависности дефинисаних за пројекат.
- Мавен Централ Репоситори : Ово је чувар места у којем су присутни стакленке, библиотеке, додаци и подаци о конфигурацији потребни од стране Мавен за изградњу пројекта.
Ако желимо да додамо зависности од селена у наш пројекат, онда у датотеку пом морамо имати доњи исечак кода.
org.seleniumhq.selenium selenium-java 4.0.0-alpha-5
Од више пројеката који су постављени у централном спремишту Мавен, идентификује Селениум уз помоћ гроупИд. Слично томе, АртифацтИд је попут потпројекта под гроупИд.
На пример, Код селена подржавају језици попут Јава, Ц # и тако даље. Овде је из артефактИда видљиво да се повезујемо само са ЈАР-овима повезаним са Јавом. Такође, верзија ЈАР-а која ће бити придружена пројекту такође је део зависности.
Такође можемо објавити сопствени пројекат у спремишту Мавен пружајући ове три информације.
Мавен Репоситори
Мавен Репозиторијум може бити три врсте:
- Локално спремиште
- Удаљено складиште
- Централ Репоситори
Једном када Мавен прочита зависности из ПОМ датотеке, прво их претражује у локалном спремишту, затим у централном и на крају у удаљеном спремишту. Ако зависности нису пронађене ни у једном од три спремишта, тада се корисник обавештава о грешци и поступак се зауставља.
# 1) Мавен Лоцал Репоситори
Локално спремиште се налази у нашем локалном систему - углавном у .м2 (Ц: / Усерс / супердев /.м2) директоријум који показује своје присуство након што се Мавен инсталира у наш систем и успели смо да извршимо Мавен наредбу.
Такође је могуће изменити ову локацију у сеттингс.кмл (МАВЕН_ХОМЕ / цонф /сеттингс.кмл) уз помоћ лоцалРепоситори ознака.
Испод кмл исечка кода, показује како се мењају локације локалног спремишта:
C: Maven m2 # 2) Централно складиште Мавен
Централно спремиште је развила група Апацхе Мавен и хостује се на вебу. Ово се сматра централним спремиштем и има све заједничке библиотеке. Попут локалног спремишта, такође можемо изменити локацију са које се подразумевано преузимају променом поставке.кмл.
# 3) Удаљено спремиште Мавен
Удаљено спремиште је такође хостовано на Интернету. У неким сценаријима, компанија може да развије сопствено удаљено складиште и изврши размештање на својим приватним пројектима. Они ће бити у власништву те одређене компаније и њима се може управљати само у њој.
Удаљено спремиште има сличне обрасце рада као централно спремиште. Кад год се од ових спремишта затраже било какве зависности или конфигурације, прво се преузимају у наш локални, а затим користе.
који је најбољи бесплатни заштитни зид
Пример кмл кода за удаљено спремиште са ид и урл је приказан испод.
com.src.repository http://maven.comp.com/maven2/
Закључак
Надамо се да сте стекли јасну представу шта је мавен, зашто користимо Мавен, оперативне кораке на Мавен-у, Мавен-ове циклусе, фазе, циљеве, основне терминологије на Мавен-у и типове Мавен-ових спремишта.
У нашем следећем упутству истражићемо како направити пројекат у Мавену, окружењу постављеном за Мавен и многим другим сродним темама.
Препоручено читање
- Интеграција Мавена са ТестНг-ом помоћу Мавен Сурефире додатка
- Водич за АВС ЦодеБуилд: Издвајање кода из Мавен Буилд-а
- Конфигурисање Мавена са Ецлипсе Јава ИДЕ
- Шта су ПОМ (пројектни модел пројекта) и пом.кмл у Мавену
- Градле Вс Мавен и Мавен додаци
- Мавен са Јенкинс-ом и Мавен-овом документацијом за пројекте
- 31 најчешће постављана питања и одговори у интервјуу са Мавеном
- Зависност Мавена и интеграција са Ецлипсеом и ТестНГ-ом