Maven Tutorial: Lahat ng Kailangan Mong Malaman Upang Magsimula



Saklaw ng blog na ito sa Maven tutorial ang lahat ng kailangan mong malaman upang makapagsimula sa Maven para sa pagbuo ng iyong mga proyekto.

Sa halip na magsulat ng mahahabang script para sa pagbuo ng iyong mga proyekto at manu-manong pag-download ng mga dependency, bakit hindi gamitin ang Maven at alisin ang gulo na ito. Saklaw ng blog na ito sa Maven tutorial ang lahat ng kailangan mo upang makapagsimula sa paggamit ng Maven para sa iyong proyekto. Matapos lubusang maunawaan ang Maven tutorial na ito, ang susunod na maaaring gawin ay matutunan ang Jenkins na sumasaklaw sa Patuloy na yugto ng Pagsasama ng .

Sa blog na ito sa Maven tutorial, sasakupin namin ang mga sumusunod na paksa:

  1. Bakit kailangan natin si Maven?
  2. Ano ba si Maven?
  3. Maven Architecture
  4. Maven cycle ng buhay, phase at layunin
  5. Proyekto ng demo.

Bakit kailangan natin si Maven?

Kung nagtatrabaho ka sa mga proyekto sa Java kung gayon sa karamihan ng oras kailangan mo ng mga dependency. Ang mga dependency ay walang iba kundi ang mga aklatan o JAR file. Kailangan mong i-download at idagdag ang mga ito nang manu-mano. Gayundin, ang gawain ng pag-upgrade ng software stack para sa iyong proyekto ay ginawa nang manu-mano bago ang Maven. Kaya't kailangan ng isang mas mahusay na tool sa pagbuo na hahawak sa mga nasabing isyu.





Dito makikita ang larawan ni Maven. Maaaring malutas ni Maven ang lahat ng iyong mga problema na nauugnay sa mga dependency. Kailangan mo lamang tukuyin ang mga dependency at ang bersyon ng software na nais mo sa pom.xml file sa Maven at Maven ang mag-aalaga ng iba pa.Kaya't subukan nating unawain kung ano talaga ang Maven.

Ano ba si Maven?

Ang proyekto ng Maven ay binuo ng Apache Software Foundation kung saan dating bahagi ito ng proyekto sa Jakarta. Ang Maven ay isang malakas na tool sa pagbuo ng automation na pangunahing ginagamit para sa mga proyekto na nakabatay sa Java. Tinutulungan ka ni Maven na matugunan ang dalawang kritikal na aspeto ng pagbuo ng software -



  • Inilalarawan nito kung paano binuo ang software
  • Inilalarawan nito ang mga dependency.

Mas ginusto ni Maven ang kombensiyon kaysa sa pagsasaayos. Dynamic na nai-download ng Maven ang mga library ng Java at mga plug-in ng Maven mula sa isa o higit pang mga repository tulad ng Maven Central Repository at iniimbak ang mga ito sa isang lokal na cache. Ang mga artifact ng mga lokal na proyekto ay maaari ding mai-update sa lokal na cache na ito. Matutulungan ka rin ng Maven na bumuo at mamahala ng mga proyektong nakasulat sa C #, Ruby, Scala, at iba pang mga wika.

Ang Project Object Model (POM) na file ay isang XML file na naglalaman ng impormasyong nauugnay sa proyekto at impormasyon sa pagsasaayos tulad ng mga dependency, source Directory, plugin, mga layunin, atbp na ginamit ng Maven upang maitayo ang proyekto. Kapag nagpatupad ka ng utos ng maven bibigyan mo ng maven ang isang POM file upang maisagawa ang mga utos. Binabasa ni Maven ang file na pom.xml upang makamit ang pagsasaayos at pagpapatakbo nito.

Mga Layunin ng Maven

Mga Layunin ng Maven

Kailan dapat may gumamit ng Maven?

    1. Kung mayroong masyadong maraming mga dependency para sa proyekto.
    2. Kapag ang pag-update ng bersyon ng dependency madalas.
    3. Ang tuluy-tuloy na pagbuo, pagsasama, at pagsubok ay madaling mapanghawakan sa pamamagitan ng paggamit ng maven.
    4. Kapag ang isang tao ay nangangailangan ng isang madaling paraan upang makabuo ng dokumentasyon mula sa source code, pag-iipon ng source code, pag-iimpake ng pinagsamang code sa mga JAR file o mga ZIP file.

Maven Architecture

Maven cycle ng buhay, phase at layunin

1. Maven cycle ng buhay



Mayroong isang tukoy na siklo ng buhay na sinusundan ni Maven upang maipadala at ipamahagi ang target na proyekto.

Mayroong tatlong mga built-in na siklo ng buhay:

  • default - Ito ang pangunahing siklo ng buhay ng Maven dahil responsable ito sa paglawak ng proyekto.
  • malinis - Ang siklo ng buhay na ito ay ginagamit upang linisin ang proyekto at alisin ang lahat ng mga file na nabuo ng nakaraang pagbuo.
  • lugar - Ang layunin ng siklo ng buhay na ito ay upang lumikha ng dokumentasyon sa site ng proyekto.

Ang bawat siklo ng buhay ay binubuo ng isang pagkakasunud-sunod ng mga phase. Ang default na ikot ng buhay na bumuo ay binubuo ng 23 mga yugto dahil ito ang pangunahing ikot ng buhay na bumuo ng Maven

Sa kabilang banda, ang malinis na siklo ng buhay ay binubuo ng 3 yugto, habang ang siklo ng buhay sa site ay binubuo ng 4 na yugto.

2. Maven Phases

Ang isang yugto ng Maven ay walang anuman kundi isang yugto sa Maven build cycle ng buhay. Ang bawat yugto ay nagpapatupad ng isang tiyak na gawain.

Narito ang ilang mahahalagang yugto sa default na pagbuo ng siklo ng buhay -

  • patunayan - Sinusuri ng yugto na ito kung magagamit ang lahat ng impormasyong kinakailangan para sa pagbuo
  • magtipon - Ang yugto na ito ang nag-iipon ng source code
  • test-compile - Ang yugto na ito ay nag-iipon ng test code ng mapagkukunan
  • pagsusulit - Ang yugto na ito ay nagpapatakbo ng mga pagsubok sa yunit
  • pakete - Ang mga package package na ito ay pinagsama ang code ng mapagkukunan sa maibabahaging format (garapon, giyera)
  • pagsasama-sama ng pagsubok - Pinoproseso at inilalagay ng yugto na ito ang pakete kung kinakailangan upang magpatakbo ng mga pagsubok sa pagsasama
  • i-install - Ang yugto na ito ay nag-i-install ng package sa isang lokal na imbakan
  • i-deploy - Ang yugto na ito ang kumopya ng pakete sa remote na imbakan

Ang Maven ay nagpapatupad ng mga yugto sa isang tukoy na pagkakasunud-sunod. Nangangahulugan ito na kung nagpapatakbo kami ng isang tukoy na yugto gamit ang utos tulad ng mvn, hindi lamang nito isasagawa ang tinukoy na yugto ngunit lahat din ng mga naunang yugto.

Halimbawa, kung patakbuhin mo ang utos ng mvn ng utos, iyon ay, ang yugto ng pag-deploy na kung saan ay ang huling yugto sa default na pagbuo ng ikot ng buhay, pagkatapos ito ay isasagawa ang lahat ng mga yugto bago ang pag-deploy din phase.

3. Mga Layunin ng Maven

Ang isang pagkakasunud-sunod ng mga layunin ay bumubuo ng isang yugto at ang bawat layunin ay nagpapatupad ng isang tiyak na gawain. Kapag nagpatakbo ka ng isang yugto, pagkatapos ay isinasagawa ng Maven ang lahat ng mga layunin sa isang pagkakasunud-sunod na nauugnay sa yugto na iyon. Ang ginamit na syntax ay plugin: layunin. Ang ilan sa mga phase at ang mga default na layunin na nakasalalay sa kanila ay ang mga sumusunod:

  • tagatala: sumulat - sumulat ng yugto
  • tagatala: pagsubok - pagsubok-sumulat ng yugto
  • surefire: pagsubok - yugto ng pagsubok
  • install: install - install phase
  • garapon at giyera: digmaan - yugto ng pakete

Ang isang Maven plugin ay isang pangkat ng mga layunin. Gayunpaman, ang mga layuning ito ay hindi kinakailangang lahat nakatali sa parehong yugto.Halimbawa, ang Maven Failsafe plugin na responsable para sa pagpapatakbo ng mga pagsubok sa pagsasama. Para sa pagsubok sa yunit, kailangan mo ng Maven surefire plugin.

Proyekto ng Demo

Sa seksyong ito ng Maven tutorial, titingnan namin ang isang proyekto sa demo. Upang maipakita kung paano bumuo ng isang proyekto gamit ang Maven, lumikha ako ng isang Ang proyekto ng Java kasama ang TestNG gamit ang Eclipse IDE. Ito ay isang napaka-simpleng programa kung saan nagsulat ako ng code upang subukan ang pamagat ng isang website.

Awtomatikong ilulunsad ng programa ang isang web browser, mag-navigate sa website na nabanggit sa code, kunin ang pamagat ng web page na iyon at ihambing ito sa inaasahang pamagat. Kung ang tunay na pamagat at ang inaasahang tugma sa pamagat, pagkatapos ay pumasa ang kaso ng pagsubok na nabigo ito.

Kaya para sa proyektong ito kailangan mo , Maven at Eclipse na nai-download sa iyong system. Ang mga bersyon na ginagamit ko sa aking system ay ang mga sumusunod -

  1. Eclipse - Bersyon ng Enterprise Edition 4.12.0 (2019-06)
  2. Java - bersyon 1.8.0_211
  3. Maven - bersyon 3.6.1
  • Maliban dito, kailangan mong i-download ang TestNG plugin para sa Eclipse at maaari mo itong i-download gamit ang mga sumusunod na hakbang -
    • Buksan ang Eclipse at pumunta sa Tulong. Sa Tulong mag-click sa Eclipse marketplace.
    • I-type ang TestNG sa Find box at mag-click sa Go. Sa mga resulta, makikita mo ang 'TestNG para sa Eclipse'. Kailangan mong i-download ito.
  • Matapos mong i-set up ang iyong system sa mga nabanggit sa itaas na mga bagay nakaayos ka na upang lumikha ng isang proyekto sa demo na gumagamit ng Maven. Kaya't sasabihin ko sa iyo ang lahat ng mga kinakailangang hakbang upang magawa ito.
    • Sa Eclipse, mag-click sa File -> Bago -> Maven Project.
    • Mag-click sa Lumikha ng isang simpleng proyekto (laktawan ang pagpipilian ng archetype) at pagkatapos ay mag-click sa susunod.
  • Ngayon makikita mo ang isang window na may mga parameter tulad ng Group Id, Artifact Id at iba pa.
    • Ang Group Id ay ang natatanging Id ng isang pangkat na nagmamay-ari ng proyekto.
    • Ang Artifact Id ay ang pangalan ng panghuling yunit ng pagtitipon.
    • Ang bersyon ay ang bersyon ng nilikha na artifact. Isinasaad ng SNAPSHOT ang isinasagawa na pag-andar.
    • Ang pagpapakete ay maaaring garapon, giyera o bawal depende sa iyong proyekto. Para sa aming proyekto, pipili kami ng garapon. Pagkatapos ay ibigay ang pangalan ng iyong proyekto.

pagsisimula sa visual studio
  • Kapag nilikha mo ang proyekto, makikita mo ang istraktura ng proyekto ng iyong proyekto sa Maven. Makikita mo rito ang mga sumusunod na bagay -
    • pom.xml
    • src at target
    • src / main / java
    • src / test / java
    • Mga dependency sa maven
  • Lumikha ngayon ng isang file ng klase sa src / main / test at pangalanan itong DemoClass. Naglalaman ang klase na ito ng Selenium code na ginagamit namin para sa pagsubok. Ngayon ay naidagdag na namin ang Selenium, mga dependency ng TestNG at Maven compiler at Surefire plugin sa pom.xml file. Ang code para sa DemoClass at pom.xml ay ibinibigay sa ibaba:
package 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 () throws InterruptException {// deklarasyon at instantiation ng mga bagay / variable //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriver driver = bagong FirefoxDriver () // puna sa itaas na 2 linya at hindi komportable sa ibaba 2 mga linya upang magamit ang Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver driver = bagong ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String expectedTitle = 'Maligayang Pagdating: Mercury Tours' String actualTitle = '' // ilunsad ang Fire fox at idirekta ito sa Base URL driver.get (baseUrl) // makuha ang aktwal na halaga ng pamagat na actualTitle = driver.getTitle () Thread.sulog (3000 ) / * * ihambing ang tunay na pamagat ng pahina sa inaasahang isa at i-print * ang resulta bilang 'Passed' o 'Nabigo' * / kung (actualTitle.contentEquals (expectedTitle)) {System.out.println ('Pass Pass!')} iba pa {System.out.println ('Nabigo ang Pagsubok')} // close 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 test
  • Bago patakbuhin ang proyekto kailangan naming i-convert ang file ng klase na DemoClass sa isang file na TestNG. Para sa paggawa nito, mag-right click sa DemoClass -> TestNG -> I-convert sa TestNG.

  • Ngayon upang patakbuhin ang proyekto, mag-right click sa isang proyekto -> Run as -> Maven malinis. Malilinaw nito ang proyekto sa pamamagitan ng pag-aalis ng lahat ng mga nakaraang build.

  • Pagkatapos malinis ang Maven, kailangan mong subukan ang proyekto dahil isinulat namin ang code para sa pagsubok sa web application. Kaya mag-right click sa proyekto -> Run as -> Maven test. Bubuksan nito ang website at tutugma sa pamagat ng website. Kung tumutugma ito ay magpasa ang aming kaso sa pagsubok.

  • Maaari din naming maisagawa ang mga utos sa itaas gamit ang isang prompt ng utos. Para doon, kailangan namin ng landas ng file na pom.xml.

    • Maaari mong makuha ang landas sa pamamagitan ng pag-right click sa pom.xml file -> Mga Katangian -> Lokasyon.
    • Kopyahin ang path, pagkatapos buksan ang isang prompt ng utos at i-paste ito doon gamit ang cd. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Kapag nagawa mo ito, maaari mong mai-type muli ang mga utos ng Maven tulad ng malinis na mvn at pagsubok sa mvn.

Kaya ito ay mula sa aking panig sa blog na ito sa Maven tutorial. Inaasahan kong naiintindihan mo ang mga bagay na tinalakay namin sa Maven tutorial na ito.

Ngayon na naintindihan mo ang tutorial na Maven na ito, suriin ito ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa Edureka DevOps Certification Training ay tumutulong sa mga nag-aaral na maunawaan kung ano ang DevOps at makakuha ng kadalubhasaan sa iba't ibang mga proseso at tool ng DevOps tulad ng Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack at GIT para sa pag-automate ng maraming mga hakbang sa SDLC.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng Maven tutorial na ito at babalikan ka namin