„Maven“ - žiniatinklio programos ir papildiniai

Turinys
Šioje pamokoje mes ketiname sukurti žiniatinklio programą naudodami „Maven“ archetipą su „Java 1.4“ kompiliatoriumi, kad vėliau pamatytume, kaip papildiniai veikia su „Maven“, kaip jie deklaruojami ir kaip jie naudojami.
Pirmas dalykas, kurį ketiname padaryti, yra inicijuoti mūsų archetipų generatorių naudojant komandą mvn acrhetype: generuoti taip pat, kaip ir mūsų ankstesnėje pamokoje, ir kai ji prašo mūsų skaičiaus, identifikuojančio archetipą, įvesime šią išraišką:
Webapp-j2ee14

Kuris filtruos archetipus, kad gautume tą, kuri atitinka žiniatinklio programą, naudojančią „Java EE 1.4“, kurią mes pasirinksime naudodami 1 (jei įdėsite tik frazę „webapp“, gausite platesnį sąrašą žiniatinklio archetipus, bet tai bus tas, kurį naudosime šioje pamokoje). Pasirinkę, priskirkite jam pasirinktą „groupId“ ir artifactId „mywebapp14“ ir tęskite, kol kūrimas bus baigtas.
Tokiu atveju jums turėtų likti aplankas, vadinamas webapp14, ir POM failas, kuris turėtų atrodyti taip:

Galite pastebėti, kad yra keletas skirtumų nuo pagrindinio archetipo, kurį sukūrėme anksčiau:
  • Etiketė „pakuotė“ dabar nurodo karą, o ne stiklainį, kuris sugeneruos failą, kurį galėsime įdiegti pageidaujamame žiniatinklio serveryje.
  • Turime 2 papildomas priklausomybes, kurios mums padės kuriant žiniatinklio programas. Paketas javax.servlet ir paketas javax.servlet.jsp kad galėtume naudoti servletus ir JSP savo kode (kuriuos puikiai palaiko „we Tomcat“ serveris).
  • Po priklausomybių turime „kūrimo“ bloką, kuriame yra „Maven“ kompiliatoriaus papildinys. Taip yra todėl, kad „Maven“ renka mūsų kodą naudodamas savo numatytąjį papildinį, kuris bus pritaikytas prie jūsų kompiuteryje esančios „Java“ versijos, tačiau, kaip ir šiame projekte, pasirinkome naudoti „Java 1.4“, POM aiškiai nurodo, kad mes naudosime TAI konkreti versija. Java.

Tai mums sako, kad „Maven“ visada rinkdavo mūsų kodą naudodamas savąjį papildinį. Tai daroma siekiant didesnio įrankio lankstumo, nes, būdamas modifikuojamas POM atributas, galite sukonfigūruoti jį naudoti bet kokio kito tipo papildinius (vėliau žiniatinklio programoms naudosime „Jetty“ papildinį).
Kai „Maven“ baigs kurti mūsų archetipą (ir šiuos veiksmus galite atlikti ankstesnėje pamokoje), einame į komandų eilutę aplanke, kuriame yra POM failas (šioje pamokoje „mywebapp14“), ir iš ten duodame nurodymus „Maven“ manipuliuoti mūsų kodu. Tarp pagrindinių „Maven“ komandų yra:
mvn švarusTai „valo“ mūsų tikslinį aplanką, ištrina iki šiol supakuotus failus ir palieka programą „pradinėje būsenoje“.
mvn kompiliuotiSudarykite mūsų „Java“ klases, esančias src / main aplanke, generuodami atitinkamą .class mūsų projekto aplanke „target / class“.
mvn testasIšbandykite mūsų kodą naudodami bandomuosius atvejus, kuriuos sukūrėme savo aplanke src / test.
mvn paketasJis supakuoja mūsų kodą pagal formatą, kurį nustatėme POM faile, ir įdeda juos į tikslinį aplanką.
Reikėtų pažymėti, kad šios komandos vykdomos nuosekliai, tai yra, naudojant bandymo komandą, mūsų projektas bus sudarytas ir išbandytas, o naudojant paketo komandą kodas bus sudarytas ir bandymai atlikti prieš galutinai jį supakuojant. Be to, kaip paaiškinau anksčiau, šios komandos priklauso nuo įskiepio, kurį naudojate kūrime. Šiuo atveju tai yra komandos, kurias naudoja „Maven“ kompiliatoriaus papildinys.
Norėdami pamatyti, kaip skiriasi „Maven“ kompiliacija, atlikite šį testą
1. Sukurkite klasę „MyWebApp.java“ norimoje pakuotėje savo programoje.
2. Klasėje deklaruokite atitinkamą pakuotę ir iškart po to padėkite:
Importuoti java.util. *;

3. Klasės viduje sukurkite metodą pagrindinis ir įveskite šią kodo eilutę:
Sąrašas l = naujas ArrayList ();

4. Išsaugokite „Java“ klasę ir paleiskite komandą mvn kompiliuoti.
5. Stebėkite klaidą, kurią jums duos komandinė eilutė.
6. POM faile pakeiskite žymę „1.4“ tarp „source“ ir „target“ į „1.5“.
7. Paleiskite komandą dar kartą mvn kompiliuoti.
Klaida yra todėl, kad „Java 1.4“ nepalaiko bendrųjų tipų kolekcijose, nes tai buvo įdiegta „Java 1.5“.
Kaip matote, „Maven“ konfigūracija ir naudojimas yra labai paprasti, tačiau jūs galite tai apsunkinti tiek, kiek jums tai sukelia, pridėdami priklausomybių ir papildinių.
Tikiuosi, kad ir toliau skaitysite mane kitoje pamokoje ir nepamirškite palikti savo komentarų iki kito karto!Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave