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 работи страхотно с тези фази и има специално меню вдясно за тези цели:

Тук, в допълнение към добре познатите фази, 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 има най-краткото:
- предварително почистване;
- чисти;
- пост чист.
Добавени са скрити допълнителни фази преди и след почистване, така че сценарият за почистване да може да бъде напequals по-гъвкав.
След това идва жизненият цикъл на сайта , който, Howто вече знаете, е предназначен за автоматично генериране на проектна documentация. Състои се от четири фази:
- предварително място
- сайт;
- пост-сайт;
- разгръщане на сайта.
Стандартните жизнени цикли могат да бъдат подобрени с функционалност чрез плъгини на Maven . Ще говорим за това по-късно, защото това е много интересна тема, която заслужава отделна лекция.
И скриптът по подразбиране има най-дългия списък от фази:
- валидирам;
- генериране на източници;
- процеси-източници;
- генериране на ресурси;
- процес-ресурси;
- компorрам;
- процеси-тест-източници;
- процес-тест-ресурси;
- компorране на тестове;
- тест;
- пакет;
- Инсталирай;
- разгърнете.
Има всички същите фази, за които вече знаете, но са добавени още няколко незадължителни.
Първо, популярен етап в големите проекти е генериране на източници : генериране на Java code, базиран на XML, например. И двойка източници на процеси , които правят нещо с този code.
Второ, генерирането на ресурси е генериране на ресурси и неговия метод за сдвоени ресурси на процеса . Често ще видите някои дейности, свързани с тези фази в големи проекти.
И накрая, тестване. Той има три допълнителни незадължителни фази, които помагат да се направи изпълнението на тестовата фаза възможно най-гъвкаво: процес-тест-източници, процес-тест-ресурси, тест-компorране.
GO TO FULL VERSION