5.1 Listahan ng mga yugto ng proyekto

Sa wakas, nakarating kami sa pagpupulong ng proyekto. At pagkatapos ay medyo mabigla ka. Well, o malakas, bilang ito ay lumiliko out. Binago ni Maven ang diskarte nito sa pagbuo ng isang proyekto. At ngayon ikaw ay kumbinsido nito.

Ang buong pagpupulong ng proyekto ay nahahati sa mga yugto, ang paglalarawan kung saan ibibigay ko sa talahanayan sa ibaba:

Umorder Phase
1 patunayan sinusuri ang kawastuhan ng meta-impormasyon tungkol sa proyekto
2 mag-compile nagtitipon ng mga mapagkukunan
3 pagsusulit nagpapatakbo ng mga pagsusulit sa klase mula sa nakaraang hakbang
4 pakete i-pack ang mga pinagsama-samang klase sa isang bagong artifact: jar, war, zip, ...
5 patunayan sinusuri ang kawastuhan ng artifact at ang kasiyahan ng mga kinakailangan sa kalidad
6 i-install inilalagay ang artifact sa lokal na imbakan
7 i-deploy nag-a-upload ng artifact sa isang production server o remote repository

Kasabay nito, ang mga hakbang ay malinaw na sunud-sunod . Kung sasabihin mo kay Maven na patakbuhin ang package command, tatakbo muna ito sa validate, compile, test phases at pagkatapos ay package lang.

Sa prinsipyo, walang bago dito, maliban na may mga hiwalay na yugto para sa kontrol ng kalidad: patunayan, pagsubok, i-verify. At kasing dami ng dalawang yugto para sa pag-deploy ng pagpupulong - i-install at i-deploy.

Upang magsimula ng isang tiyak na yugto, sapat na upang isulat ang maven phase command . Halimbawa, upang bumuo, kailangan mong patakbuhin ang maven package command . atbp.

Ang Intellij IDEA ay mahusay sa pagtatrabaho sa mga yugtong ito at mayroon itong espesyal na menu sa kanan para sa mga layuning ito:

maven phase

Dito, bilang karagdagan sa mga kilalang yugto, ang IDEA ay nagpapakita ng 2 higit pang mga utos: malinis at site . clean ay ginagamit upang ganap na i-clear ang target na folder, at ang site ay maaaring lumikha ng dokumentasyon ng proyekto.

5.2 Pagbuo ng isang proyekto

Kung gusto mong i-compile ang proyekto, kailangan mong patakbuhin ang compile phase. Magagawa ito gamit ang command line: mvn compile o sa pamamagitan ng IDEA interface sa pamamagitan ng pag-click sa compile item .

Pagkatapos nito, sisimulan ni Maven ang pagbuo ng proyekto at makikita mo ang isang log ng proseso ng pagbuo na katulad nito:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.742 s
[INFO] Finished at: 2016-09-19T22:41:26+04:00
[INFO] Final Memory: 7M/18M
[INFO] ------------------------------------------------------------------------

Kung may nangyaring mali, magiging ganito ang log:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project demo: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible sliutions, please read the flilowing articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Magkakaroon ng maraming kapaki-pakinabang na impormasyon sa log, sa paglipas ng panahon ay matututo kang maunawaan at pahalagahan ito.

5.3 Mga siklo ng trabaho

Ang lahat ng maven command ay nahahati sa tatlong grupo - mga lifecycle. Ang mga ito ay tinatawag na mga lifecycle dahil tinutukoy nila ang pagkakasunud-sunod ng mga phase na tumatakbo sa panahon ng isang build o isang partikular na lifecycle dahil hindi lahat ng aktibidad ng Maven ay binubuo.

Mayroong tatlong mga siklo ng buhay:

  • malinis;
  • default;
  • lugar.

At bawat isa sa kanila ay may sariling phase order. Ang Clean ay may pinakamaikling:

  1. bago malinis;
  2. malinis;
  3. malinis ang poste.

Ang mga nakatagong karagdagang pre-clean at post-clean phase ay idinagdag upang ang senaryo ng paglilinis ay gawing mas flexible.

Pagkatapos ay darating ang ikot ng buhay ng site , na, tulad ng alam mo na, ay idinisenyo upang awtomatikong bumuo ng dokumentasyon ng proyekto. Binubuo ito ng apat na yugto:

  1. pre-site
  2. lugar;
  3. post-site;
  4. site-deploy.

Maaaring pahusayin ang mga karaniwang siklo ng buhay gamit ang functionality gamit ang Maven plugins . Pag-uusapan natin ito mamaya, dahil ito ay isang napaka-kagiliw-giliw na paksa na nararapat sa isang hiwalay na panayam.

At ang default na script ay may pinakamahabang listahan ng mga phase:

  1. patunayan;
  2. bumuo-pinagmulan;
  3. mga mapagkukunan ng proseso;
  4. bumuo-mga mapagkukunan;
  5. proseso-mga mapagkukunan;
  6. ipunin;
  7. process-test-sources;
  8. proseso-test-resources;
  9. pagsubok compile;
  10. pagsusulit;
  11. pakete;
  12. i-install;
  13. i-deploy.

Mayroong lahat ng parehong mga phase na alam mo na tungkol sa, ngunit ilang higit pang mga opsyonal na mga idinagdag.

Una, ang isang tanyag na yugto sa malalaking proyekto ay mga generate-sources : pagbuo ng Java code batay sa XML, halimbawa. At isang pares ng process-sources , na may ginagawa sa code na ito.

Pangalawa, ang pagbuo ng mga mapagkukunan ay bumubuo ng mga mapagkukunan at ang ipinares na pamamaraan ng mapagkukunan ng proseso . Madalas mong makikita ang ilang aktibidad na nauugnay sa mga yugtong ito sa malalaking proyekto.

At sa wakas, pagsubok. Mayroon itong tatlong karagdagang opsyonal na mga yugto na tumutulong na gawing flexible ang pagpapatakbo ng yugto ng pagsubok hangga't maaari: process-test-sources, process-test-resources, test-compile.