what is maven maven tutorial
Този уводен урок за Maven ще обясни какво е Maven, защо да използваме Maven, неговата дефиниция, основни терминологии, видове хранилища на Maven и т.н.:
В този урок ще разгледаме Maven, неговата дефиниция, преглед, оперативни стъпки за Maven и ще разберем основните терминологии на Maven, дейностите, извършвани от Maven, и видовете хранилища на Maven в детайли.
Да започваме!!
Списък с уроци в тази серия Maven
Урок # 1: Какво е Maven - Урок за Maven за начинаещи (Този урок)
Урок # 2: Какво представляват POM (обектния модел на проекта) и Pom.Xml в Maven
Урок № 3: Gradle Vs Maven и Maven Plugins
Урок № 4: Зависимост и интеграция на Maven с Eclipse и TestNG
Урок № 5: Maven With Jenkins & Maven Документация за проекти
Урок № 6: 31 най-често задавани въпроси и отговори на интервю за Maven
Какво ще научите:
Какво е Maven
Maven е инструмент за изграждане и управление на проекти, който обикновено се използва в рамки, изградени в Java. Той е разработен от Apache Software Foundation. Maven, дума от езика идиш, означава „събирач на знания“. Той е въведен, за да направи процеса на задействане на изграждането в Джакарта Turbine Project.
Maven се контролира от файла Project Object Model (pom). Докато работим с вградени рамки на Java, често ни се налага да се справяме с редица зависимости.
Преди Maven да влезе в картината, всички зависимости, които не са нищо друго освен JAR файлове, трябваше да бъдат добавени към нашата рамка ръчно. Освен това трябваше да се погрижим за надграждането на софтуера в нашия проект.
безопасно безплатно YouTube към mp3 конвертор -
Maven гарантира, че JAR-овете на проекта и библиотеките се изтеглят автоматично. Във файла pom .xml трябва да се опише само информацията, свързана с версиите на софтуера и типа зависимости.
Maven може да се грижи за проекти на Ruby, C # и други езици. Той поема задачата за изграждане на проекти, техните зависимости и документация.
ANT, друг инструмент, разработен от Apache Software Foundation, също се използва за изграждане и внедряване на проекти. Но Maven е по-напреднал от ANT. Подобно на ANT, Maven улесни процеса на изграждане. По този начин, накратко, Maven улесни живота на разработчиците.
Защо да използваме Maven
Maven извършва следните дейности:
- Хранилище за получаване на зависимостите.
- Наличие на подобна структура на папките в цялата организация.
- Интеграция с инструменти за непрекъсната интеграция като Jenkins.
- Приставки за изпълнение на теста.
- Той предоставя информация за това как се разработва софтуерът / проектът.
- Процесът на изграждане е направен по-опростен и последователен.
- Предоставя насоки за най-добрите практики, които да се следват в проекта.
- Подобрява изпълнението на проекта.
- Лесно е да преминете към нови атрибути на Maven.
- Интеграция с инструменти за контрол на версиите като Git.
Maven се грижи за процеси като издания, разпространение, отчитане, компилации, документация и SCM. Maven се свързва с централното хранилище на Maven и ги зарежда локално. Някои от IDE, които поддържат разработването на проекти с Maven, са NetBeans, Eclipse, IntelliJ и т.н.
Maven трябва да се използва в нашите проекти в следните сценарии:
- Ако проектът изисква голям брой зависимости.
- Ако версията на зависимостите се нуждае от често надграждане.
- Ако проектът трябва да има бърза документация, компилиране и опаковане на изходния код в JAR или ZIP файлове.
Оперативни стъпки на Maven
# 1) Първо Maven преминава през POM .xml файла.
# две) Зависимостите се зареждат в локалното хранилище.
# 3) Преминава през вградените жизнени цикли на Maven, както е показано по-долу:
- По подразбиране: Грижи се за разгръщането на проекта.
- Чисто: Премахва всички грешки, като по този начин почиства проекта и премахва артефакта, произведен от предишния процес на компилация.
- Сайт: Грижи се за документацията на проекта.
# 4) Всеки вграден цикъл има няколко фази. Например, по подразбиране има двадесет и три фази, докато чистият и сайтът има съответно три и четири фази.
# 5) Всеки цикъл на Maven преминава през няколко етапа, където определен етап има конкретна цел.
Някои от важните фази са изброени по-долу:
- Проверка: Проверява дали са налични всички данни за предпоставките за завършване на компилацията.
- Съставяне: Изходният код е компилиран.
- Тест- компилация: Тестовият изходен код е съставен.
- Тест: Тестовите случаи на единични тестове се изпълняват
- Пакет: Изходният код се компилира и пакетира в JAR или ZIP файлове.
- Тест за интеграция: Пакетът е разположен и ако има някакви проблеми, се изпълняват тестови случаи на интеграция.
- Пакет за инсталиране: Той е инсталиран в локалното хранилище.
- Разполагане: Копие от пакета се предоставя от отдалеченото хранилище.
Тези фази трябва да се изпълняват по ред. Също така, ако разполагане трябва да бъде изпълнена крайната фаза на цикъла на Maven, след което всички предходни фази на този цикъл трябва да бъдат завършени успешно.
От командния ред фазите се изпълняват по следния начин:
mvn , например, mvn валидиране
# 6) Група от голове на Maven съставлява фаза. Подобно на фазите на Maven, всяка цел трябва да се изпълнява в определен ред.
Целта има следния синтаксис:
Приставка: цел
Тук обсъдихме някои от фазите, заедно с целите, свързани с тях:
- компилатор: компилация (използва се във фазата на компилация)
- компилатор: тест (използван във фазата на компилация на теста)
- сигурен: тест (използван във фазата на тестване)
- инсталиране: инсталиране (използва се във фазата на инсталиране)
- буркан: война (използва се във фазата на опаковане)
- война: война (използва се във фазата на опаковане)
Оперативните стъпки за това как работи Maven са схематично показани по-долу:
Терминологии в Maven
- POM : Това означава Project Object Model. Това е XML файл, който съдържа информацията за проекта, зависимостите, присъстващи в проекта, директория на изходния файл, информация за приставката и т.н. Това са необходимите данни за Maven, за да изгради напълно проекта. Maven чете pom файла, за да получи цялата тази информация.
Проектът Maven в Eclipse IDE с кодов фрагмент от POM XML файла е показан по-долу.
- GroupId : Признава нашия проект уникално от всички проекти. GroupId е част от pom файла. Често се казва като идентичност за групата проекти.
- ArtifactId : Jar файл, който е разположен в хранилището на Maven. ArtifactId е част от pom файла. Често се казва като идентичност и име на нашия проект.
- Версия : Указва версията на бурканчето на проекта. Версията също е част от pom файла.
Както е изобразено на изображението по-горе, можем да видим това и таговете формират частта от зависимостите, дефинирани за проекта.
- Централно хранилище на Maven : Това е резервоарът, в който присъстват буркани, библиотеки, плъгини и данни за конфигурация, изисквани от Maven за изграждане на проекта.
Ако искаме да добавим зависимости от селен в нашия проект, тогава трябва да имаме по-долу кодов фрагмент към файла pom.
org.seleniumhq.selenium selenium-java 4.0.0-alpha-5
От множеството проекти, повдигнати в централното хранилище на Maven, той идентифицира Selenium с помощта на groupId. По същия начин ArtifactId е като подпроект под groupId.
Например, Кодът на селен се поддържа от езици като Java, C # и т.н. Тук, от artifactId, е очевидно, че ние се свързваме само с JAR, свързани с Java. Също така версията на JAR, която трябва да бъде свързана с проекта, също е част от зависимостите.
Също така можем да публикуваме собствен проект в хранилището на Maven, като предоставим тези три части информация.
Хранилище на Maven
Хранилището на Maven може да бъде от три вида:
- Локално хранилище
- Отдалечено хранилище
- Централно хранилище
След като Maven прочете зависимостите от POM файла, първо ги търси в локалното хранилище, след това в централното и накрая в отдалеченото хранилище. Ако зависимостите не бъдат намерени в нито едно от трите хранилища, тогава потребителят се уведомява с грешка и процесът се спира.
# 1) Локално хранилище Maven
Локалното хранилище се намира в нашата локална система - най-вече в .м2 Директория (C: / Users / superdev /.m2), която показва присъствието си, след като Maven бъде инсталиран в нашата система и успяхме успешно да изпълним команда Maven.
Също така е възможно да промените това местоположение в settings.xml (MAVEN_HOME / conf /settings.xml) с помощта на localRepository етикет.
Под фрагмента на xml код показва как да промените местоположението на локалното хранилище:
как да отпечатате масив от низове в java, използвайки for цикъл
C: Maven m2 # 2) Централно хранилище на Maven
Централно хранилище се разработва от групата Apache Maven и се хоства в мрежата. Това се счита за централно хранилище и има всички общи библиотеки. Подобно на локално хранилище, ние също можем да модифицираме местоположението, където те трябва да бъдат изтеглени по подразбиране, като променим настройката.xml.
# 3) Отдалечено хранилище на Maven
Отдалеченото хранилище също се хоства в мрежата. В някои сценарии компанията може да разработи свое собствено отдалечено хранилище и да извърши внедряване на свои частни проекти. Те ще бъдат собственост на конкретната компания и могат да се управляват само вътре в нея.
Отдалеченото хранилище има подобни работни модели като централното хранилище. Когато се изискват зависимости или конфигурации от тези хранилища, те първо се изтеглят в нашия локален и след това се използват.
Примерен xml код за отдалечено хранилище с id и url е показан по-долу.
com.src.repository http://maven.comp.com/maven2/
Заключение
Надяваме се, че сте получили ясна представа какво е Maven, защо използваме Maven, оперативни стъпки на Maven, цикли на Maven, фази, цели, основни терминологии на Maven и типовете хранилища на Maven.
В следващия урок ще проучим как да изградим проект в Maven, среда, създадена за Maven, и много други свързани теми.
Препоръчително четене
- Интеграция на Maven с TestNg с помощта на приставката Maven Surefire
- Урок за AWS CodeBuild: Извличане на код от Maven Build
- Конфигуриране на Maven с Eclipse Java IDE
- Какво представляват POM (обектния модел на проекта) и pom.xml в Maven
- Gradle Vs Maven и Maven Plugins
- Maven With Jenkins & Maven Документация за проекти
- 31 най-често задавани въпроси и отговори на интервю за Maven
- Зависимост и интеграция на Maven с Eclipse и TestNG