5.1 Списък на фазите на проекта

Най-накрая стигнахме до сглобяването на проекта. И тогава ще бъдете малко изненадани. Е, or силно, Howто се оказва. Maven преразгледа подхода си за изграждане на проект. И сега ще се убедите в това.

Цялото сглобяване на проекта беше разделено на фази, чието описание ще дам в tableта по-долу:

поръчка Фаза
1 валидирам проверява коректността на метаинформацията за проекта
2 компorрам компorра източници
3 тест изпълнява тестовете на класа от предишната стъпка
4 пакет пакетира компorраните класове в нов артефакт: jar, war, zip, ...
5 проверявам проверява коректността на артефакта и изпълнението на изискванията за качество
6 Инсталирай поставя артефакта в локалното хранorще
7 разгърнете качва артефакт на производствен сървър or отдалечено хранorще

В същото време стъпките са ясно последователни . Ако кажете на Maven да изпълни командата package, тя първо ще изпълни фазите валидиране, компorране, тестване и едва след това пакет

По принцип тук няма нищо ново, освен че има отделни фази за контрол на качеството: валидиране, тестване, проверка. И до две фази за разполагане на монтажа - инсталиране и внедряване.

За да стартирате определена фаза, е достатъчно да напишете командата maven phase . Например, за да изградите, трябва да изпълните командата maven package . и т.н.

Intellij IDEA работи страхотно с тези фази и има специално меню вдясно за тези цели:

maven фаза

Тук, в допълнение към добре познатите фази, IDEA показва още 2 команди: clean и site . clean се използва за пълно изчистване на целевата папка и сайтът може да създаде documentация за проекта.

5.2 Изграждане на проект

Ако искате да компorрате проекта, тогава трябва да стартирате фазата на компorране. Това може да стане с помощта на командния ред: mvn compile or чрез интерфейса IDEA, като щракнете върху елемента за компorране .

След това Maven ще започне изграждането на проекта и ще видите дневник на процеса на изграждане, подобен на този:

[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] ------------------------------------------------------------------------

Ако нещо се обърка, дневникът ще изглежда така:

[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 

В дневника ще има много полезна информация, с течение на времето ще се научите да я разбирате и оценявате.

5.3 Работни цикли

Всички maven команди са разделени на три групи – жизнени цикли. Те се наричат ​​жизнени цикли , защото определят реда на фазите, които се изпълняват по време на компилация or конкретен жизнен цикъл, тъй като не всички дейности на Maven са компилации.

Има три жизнени цикъла:

  • чисти;
  • по подразбиране;
  • сайт.

И всеки от тях има свой собствен фазов ред. Clean има най-краткото:

  1. предварително почистване;
  2. чисти;
  3. пост чист.

Добавени са скрити допълнителни фази преди и след почистване, така че сценарият за почистване да може да бъде напequals по-гъвкав.

След това идва жизненият цикъл на сайта , който, Howто вече знаете, е предназначен за автоматично генериране на проектна documentация. Състои се от четири фази:

  1. предварително място
  2. сайт;
  3. пост-сайт;
  4. разгръщане на сайта.

Стандартните жизнени цикли могат да бъдат подобрени с функционалност чрез плъгини на Maven . Ще говорим за това по-късно, защото това е много интересна тема, която заслужава отделна лекция.

И скриптът по подразбиране има най-дългия списък от фази:

  1. валидирам;
  2. генериране на източници;
  3. процеси-източници;
  4. генериране на ресурси;
  5. процес-ресурси;
  6. компorрам;
  7. процеси-тест-източници;
  8. процес-тест-ресурси;
  9. компorране на тестове;
  10. тест;
  11. пакет;
  12. Инсталирай;
  13. разгърнете.

Има всички същите фази, за които вече знаете, но са добавени още няколко незадължителни.

Първо, популярен етап в големите проекти е генериране на източници : генериране на Java code, базиран на XML, например. И двойка източници на процеси , които правят нещо с този code.

Второ, генерирането на ресурси е генериране на ресурси и неговия метод за сдвоени ресурси на процеса . Често ще видите някои дейности, свързани с тези фази в големи проекти.

И накрая, тестване. Той има три допълнителни незадължителни фази, които помагат да се направи изпълнението на тестовата фаза възможно най-гъвкаво: процес-тест-източници, процес-тест-ресурси, тест-компorране.