maven dependency integration with eclipse
В този урок ще обсъдим подробно интеграцията на Maven с Eclipse и TestNG, обхват на зависимостта на Maven и автоматизация на Maven Deployment Automation:
В предишния урок обсъдихме сравнението между Gradle срещу Maven и Maven Plugins. Този урок обяснява как да интегрирате Maven с други инструменти, зависимостта на Maven и внедряването на Maven.
софтуер за продажба на ipad
Да започваме!
=> Посетете тук за ексклузивната серия за обучение на Maven.
Какво ще научите:
- Интеграция на Maven с Eclipse
- Интеграция на Maven с TestNG
- Обхват на зависимостта на Maven
- Maven Deployment Automation
- Maven Release Plugin
- Заключение
- Препоръчително четене
Интеграция на Maven с Eclipse
Как да интегрираме Maven с Eclipse вече е обсъдено задълбочено по този въпрос страница
В определени сценарии, когато изграждаме проект на Maven от командния ред и трябва да го пренесем в Eclipse, трябва да бъдат изпълнени следните стъпки.
# 1) Придвижете се до местоположението на pom файла за проекта Maven. Изпълнете командата по-долу.
mvn eclipse: затъмнение
# 2) .classpath и .проект ще бъде създаден в местоположението на проекта Maven.
Проверете дали приставката Maven вече е предоставена в Eclipse от Windows => Предпочитания , Maven трябва да присъства там. Всички текущи версии на Eclipse имат приставки Maven по подразбиране и ако не е там, можем да го получим от тук .
# 3) Сега, за да накарате Maven и Eclipse да работят заедно, импортирайте проекта Maven от файла. След това изберете Съществуващ проект на Maven.
# 4) Разгледайте местоположението на проекта и продължете.
Изображението, изобразено по-горе, показва проекта Maven, импортиран в Eclipse.
Интеграция на Maven с TestNG
Как да интегрираме Maven с TestNG беше обсъдено задълбочено на долната страница.
=> Интеграция на Maven с TestNg с помощта на приставката Maven Surefire
Въпреки че сме интегрирали Maven с TestNG в нашия проект, може да има ситуации, при които нашият проект има повече от един Testng xml файл. Например, всички функции на регресионния пакет са описани в един testng.xml, а тестовете за здравословно състояние са описани в другия файл testng.xml.
В ситуация като тази трябва да използваме профил концепция в Maven. Във файла pom трябва да дефинираме профилите. Всеки е част от етикет и има свързана с него.
По-долу е даден файл pom.xml с кодов фрагмент на профили:
Regression org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngRegression.xml Sanity org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngSanity.xml
Моля, обърнете внимание, че имаме два профила по-горе, описани по-долу и всеки профил има идентификационен номер, свързан с него. Например, Регресия и Разумност също така под suiteXmlFiles дефинирахме името на xml файла Testng, съответстващ на id ( testngRegression.xml и testngSanity.xml ).
най-добрият безплатен анти шпионски софтуер за компютър
По този начин тук имаме два профила и можем да контролираме всеки Testng файл с помощта на един pom файл.
Сега, за да задействаме тестов случай за всеки файл Testng директно от командния ред, трябва да се преместим в папката на проекта и да изпълним следната команда.
mvn test –PRegression
След като това се изпълни, Maven търси в профила с идентификация Регресия и съответния testngRegression.xml файл. Така се изпълняват само тестовете, участващи там.
По същия начин за профил с id Sanity командата е:
mvn test –PSanity
Тук testngSanity.xml файл се използва за определяне на тестовите случаи, които трябва да бъдат изпълнени. По този начин за задействане на определен набор от тестови случаи, не е необходимо да променяме името на файла TestNG в pom, а по-скоро може лесно да бъде постигнато чрез поддържане на отделни файлове TestNG.
Във файла pom можем да картографираме тези файлове и накрая да ги стартираме с помощта на профили в Maven от командния ред.
Обхват на зависимостта на Maven
Maven има общо шест обхвата, както е изброено по-долу.
- Осигурено
- Тест
- Система
- Внос
- Компилирайте
- Времетраене
# 1) Обхват на изпълнение
Зависимостта на Maven има обхват като време на изпълнение и не се използва за изграждане. Той представлява classpath за стартиране и тестване на проекта. Долният кодов фрагмент показва зависимост от обхвата на изпълнение.
com.softwaretesting MavenJava 2.3 runtime
# 2) Обхват на системата
Зависимостта на Maven с обхват като система има сходство с предоставения обхват. Системните зависимости не могат да бъдат изтеглени от отдалеченото хранилище и обикновено се намират в директориите на проекта. По-долу кодов фрагмент показва зависимост от системния обхват.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Осигурен обхват
Зависимостта на Maven, която има обхват, както е предвидено, се изисква за изграждане и тестване на проектите. Не се препоръчва да експортирате тази зависимост, тъй като те са достъпни по време на изпълнение. Тази зависимост обаче е необходима за стартиране на компилацията. По-долу кодов фрагмент показва предоставена зависимост от обхвата.
com.test MavenJava2 5.1.1 provided
# 4) Обхват на теста
Зависимостта на Maven, която има обхват на теста, не е необходима за изграждането и изпълнението на проекта. Те се използват по същество за компилиране и изпълнение на модулни тестови случаи. Долният кодов фрагмент показва зависимост от тестовия обхват.
com.testing MavenJava3 1.0.2 test
# 5) Обхват на внос
Вътре в pom файла, зависимостУправление раздел съдържа обхвата импортиране. Това означава зависимостта, която трябва да бъде променена с ефективната група от зависимости, предоставена в секцията dependencyManagement на pom файла. По-долу кодов фрагмент показва зависимост от обхвата на импортиране.
com.testhelp MavenJava4 SNAP import pom
# 6) Компилиране на обхвата
Зависимостта на Maven, която има обхват на компилиране, е тази по подразбиране. Тази зависимост е от съществено значение за изграждането, тестването и изпълнението на проекта. Това е най-важно за решаването на изходния код на Java с импортирани оператори. По-долу кодов фрагмент показва зависимост от обхвата на компилация.
как да създам масив от низове в java -
logging log 2.1.3 compile
Maven Deployment Automation
Разгръщането на проекта е критична фаза и включва множество стъпки, дефинирани, както е посочено по-долу:
- Кодът е разработен за проверка в хранилището.
- Изходен код, който ще бъде изтеглен от хранилището.
- Компилация и изграждане на приложението и генериране на JAR или WAR файлове.
- Поставяне на идентифицираните JAR или WAR файлове в познато мрежово местоположение.
- Заредете JAR или WAR файловете.
- Разположете изтеглените JAR или WAR файлове на целевия сървър.
- Новият номер на приложението и датата, която трябва да бъде актуализирана в документацията.
Гореспоменатите стъпки се следват от всеки член на екипите, участващи в проекта. От гореизброените стъпки, ако някой е пропуснат или нещо не е направено правилно, това води до неуспех на изграждането и внедряването . Така че между тях, ако има някакви грешки, те трябва да бъдат коригирани автоматично.
Maven следва метода за автоматизация на внедряването, за да направи внедряването автоматично и стабилно. Това се постига чрез комбинацията от изброените по-долу процеси:
- Изграждане и пускане на проекта, за който да се погрижи Maven.
- Изходният код, който трябва да се управлява от хранилище за подривна дейност и изходен код.
- Проектирайте двоични файлове, за да се грижите за отдалечения мениджър на хранилище.
За автоматизирания процес на изграждане и пускане на Maven се грижи приставката Maven Release. Файлът pom.xml трябва да бъде актуализиран, както е показано по-долу.
Кодът по-долу е за проекта com.softwaretestHelp pom.xml
4.0.0 com.softwaretestHelp TestApplication war 2.0 WebTest Maven Java http://maven.apache.org http://www.svn.com scm:svn:http://localhost:8080/svn/jrepo/trunk/Framework scm:svn:testing/test@localhost:8080:common_core_api:1101:code SampleTest-Web-Release Release repository http://localhost:8082/nexus/content/repositories/SampleTest-Web-Release org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy [SampleTest-Web- checkin] junit junit 3.9 test
Основните функции в горния файл pom.xml са изброени по-долу:
- SCM : Местоположението на SVN (където е изходният код) се конфигурира от SCM.
- Хранилища : Това е местоположението на JAR или WAR или EAR файловете или всеки друг артефакт на проекта след успешното завършване на изграждането на проекта.
- Приставка : Автоматизация на внедряване, извършена от приставката за освобождаване на Maven.
Maven Release Plugin
Приставката за освобождаване на Maven извършва следните дейности:
- mvn издание: чисто - Почиства работното пространство на предишната компилация преди пристигането на бъдещата компилация.
- mvn освобождаване: откат - В случай на повреда на предишната компилация, тя се връща към работното пространство.
- mvn издание: подгответе - Той проверява дали има някакви неангажирани промени във файловете или не. Също така проверява зависимостите от моментната снимка и актуализира номера на версията на приложението. Той модифицира pom към SCM. Той се грижи за изпълнението на тестовия случай и прави финалния код за SCM. Той извършва маркиране на кода в подрива. И накрая, номерът на версията се увеличава и прикачва към SNAPSHOT за други версии в бъдеще от тази приставка.
- mvn освобождаване: изпълнение - Той проверява кода, присъстващ в хранилището, и след това изпълнява цели за изграждане на Maven, за да разположи артефакта за изграждане в хранилището.
И накрая, трябва да изпълним командата по-долу за изграждане на проекта:
mvn release: prepare
След като завърши успешно завършването на компилацията, изпълнете следната команда:
mvn release: perform
Сега WAR файлът се качва в хранилището.
Заключение
Надяваме се, че основните части от интеграцията на Maven с Eclipse, интеграцията му с TestNG, профилите на Maven, обхватът на зависимост на Maven и автоматизацията на внедряване на Maven трябва да бъдат разбираеми сега. Също така тук сме обсъдили повечето от обхвата на зависимостите.
За процеса на внедряване на Maven проучихме задълбочено всички стъпки и обяснихме някои от плъгините за освобождаване на Maven. Прочетете темите и постепенно ще разберете истинската същност на използването на Maven в нашата работа.
Ще продължим с поредицата и ще събираме знания за интеграцията на Maven Jenkins, въпроси за интервюта на Maven и т.н. в предстоящите ни уроци.
=> Проверете ВСИЧКИ уроци за Maven тук.
Препоръчително четене
- Какво е Maven - Урок за Maven за начинаещи
- Уроци за задълбочено затъмнение за начинаещи
- Урок за TestNG: Въведение в TestNG Framework
- Урок за Eclipse: Интегриране на TestNG в Eclipse Java IDE
- Конфигуриране на Maven с Eclipse Java IDE
- Gradle Vs Maven и Maven Plugins
- Maven With Jenkins & Maven Документация за проекти
- Интеграция на Maven с TestNg с помощта на приставката Maven Surefire