gradle vs maven maven plugins
Овај водич ће расправљати о разликама између Градлеа и Мавена. Такође ћете научити о разним додацима и конфигурацијама Мавен:
Као и Мавен, Градле је алат за аутоматизацију који Јава програмери користе за изградњу. Градле је алат отвореног кода и користи језик који је специфичан за домен и развијен је у Гроови-у.
=> Овде погледајте Тхе Перфецт Мавен Траининг Гуиде.
Шта ћете научити:
Градле вс Мавен
Кључне разлике између Градлеа и Мавена дате су у табели у наставку:
Градле | Мавен |
---|---|
Што се тиче перформанси, Градле је бољи јер се бави само тренутним покренутим задатком, а не улазним или излазним подацима који су обезбеђени. | Мавен не користи претходне артефакте или кеш меморију за креирање пројекта, тако да је време потребно за генерисање новог пројекта дуже. |
То је систем за аутоматизацију који је развијен у Гроови-у | То је алат за изградњу и управљање пројектима. |
Градле не покреће ниједна кмл датотека за изградњу пројекта, већ користи језик - Гроови који је специфичан за домен. Подаци о пројекту се чувају у алату Градле. | Мавен покреће кмл датотека која садржи информације о зависностима, додацима и профилима итд. |
Градле ради постепено и омогућава бржи завршетак израде. | Мавен не примењује инкрементални приступ и спорији је у погледу времена израде од Градле-а. |
Градле скрипта је једноставна, није дугачка и лако се може разумети. | Мавен има кмл датотеку која је описна, дугачка и не може се лако разумети. |
Градле се може лако прилагодити јер има пуно флексибилности у погледу великог броја опција доступних у алату са ИДЕ подршком. | Мавеново прилагођавање није лако, а понекад и није могуће, јер нема подршку за ИДЕ. |
Циљ алата Градле је да има нове карактеристике у пројекту. | Циљ Мавен алата је да пројекат заврши у одређено време. |
У Градле-у компилација Јава није потребан корак. | У Мавену је компилација обавезан корак. |
Градле је релативно модеран алат и број његових корисника је ограничен. | Мавен је познат алат и популаран међу програмерима Јаве. |
Бројне зависности за пројекат могу се додати у Градле без употребе кмл-а. | Бројне зависности се могу додати пројекту додавањем у кмл датотеку (пом), чинећи га тако сложенијим и тешким за управљање од Градле-а. |
Датотека Буилд.градле садржи елементе као што су гроуп, басеНаме и версион. | Датотека Пом.кмл садржи елементе попут, и. |
Још неколико разлика између Мавен-а и Градле-а
Градле је изграђен од групе задатака које треба извршити. Док Мавен има сталан и прецизан модел фаза. Мавен циљеви су повезани са фазама пројекта и сваки циљ је сличан задацима Градле-а.
Перформансе
Што се тиче перформанси, и Градле и Мавен могу паралелно покретати више од једне верзије на различитим модулима.
Међутим, Градле следи инкрементални приступ градњи и проверава да ли су задаци измењени или не и бави се само датотекама које се ажурирају.
Градле има боље перформансе због функција доле наведених:
- Компилација Јава класе на инкрементални начин.
- Поновна употреба артефаката градње осталих градњи Градле са сличним улазима.
- Више употребе АПИ-ја.
- Бржа компилација уз помоћ демона компајлера.
Управљање предмеморијом градње чини Градле много бржим од Мавена.
Флексибилност
Гоогле користи Градле као алатку за изградњу за Андроид, јер је дизајниран на такав начин да се може проширити најосновнијим методологијама. Градле-ов модел се може користити за развој Ц или Ц ++ и може се проширити на било које друго окружење.
Мавен се не може лако прилагодити и није често изводљив. Ово олакшава разумевање Мавен-ових градњи ако не морамо да се бавимо сложеним или ексклузивним захтевима. Међутим, Градле је лако прилагодљив за употребу.
Градле даје занимљив интерактивни веб интерфејс за кодирање, отклањање грешака и задатке оптимизације градње у Буилд Сцан. Пружа важне информације о трендовима, историји и другим параметрима израде.
Управљање зависношћу
Градле има боље АПИ-је и примену зависности од Мавена. Поред тога, омогућава случајне предмеморије. То значи да више пројеката може користити заједничку кеш меморију без међусобног преписивања. Градле има контролну суму и синхронизује кеш меморије заједно са спремиштима.
Има неке карактеристике управљања зависношћу као што су:
- Правила замене за компатибилне библиотеке.
- РеплацедБи рулес.
- Вратите зависности пројекта са спољним и обрнуто.
И Градле и Мавен имају динамичке и прелазне зависности. Мавен има локална, централна и удаљена спремишта, док Градле има ЈЦентер. Такође, постоје прилагођена спремишта унутар организација.
Примери кодирања Градле и Мавен
2.0.0 com.softwareTest Java-builds jar 2.0 j unit junit 2.10 org.apache.maven.plugins maven-surefire-plugin 2.2.1
Да би се извршио Мавен циљ који генерише јар датотеку, користи се следећа Мавен наредба:
пример регуларног израза ц ++
mvn package
Тако видимо да је датотека пом.кмл описна и да ће Мавен пројекти са вишеструким задацима, конфигурацијама и зависностима имати дугачку кмл датотеку.
Одговарајући буилд.градле код који изводи исти резултат дат је у наставку:
apply plugin:'java' apply plugin:'maven' group = 'com.softwareTest' version ='2.0' repositories { mavenCentral() } dependencies { testCompile group:'junit', name:'junit', version:'2.10' }
Тако видимо да је Градлеов сценарио краћи у поређењу са Мавеном. Наредба у наставку користи се за извршавање групе задатака.
gradle tasks –all
Видимо да је Градле способнији од Мавена. Али могу бити прилике када нам нису потребне све ове додатне функционалности Градле-а. Дакле, Мавен је погоднији за мале пројекте, док се Градле углавном користи у већим пројектима.
Основне команде Градле Вс Мавен
Следећа табела наводи неке основне команде Градле вс Мавен:
Сврха | Команда Градле | Команда Мавен |
---|---|---|
сигурно | Јунит тестови се изводе у изолованом учитавању класе. | |
Да би се генерисао ВАР / ЕАР / ЈАР | градле саставити | мвн пакет |
Да се покрене и компајлира | градле тест | мвн тест |
Избриши директоријум градње | градле чист | мвн цлеан |
Интегришите са Ецлипсе | помрачење града | мвн ецлипсе: ецлипсе |
За уградњу | градле инсталл | мвн инсталл |
Да бисте добили верзију | градле -верзија | мвн -верзија |
Градле можемо претворити у Мавен и обрнуто.
Можемо следити кораке у наставку да бисмо Мавен променили у Градле:
# 1) Дођите до директоријума пројекта Мавен (локација датотеке пом.кмл).
#два) Извршите наредбу градле инит.
То ће резултирати истовременим генерисањем Градле градње подешавања.градле датотека и буилд.градле датотеке ће бити створене.
Да бисмо Градле променили у Мавен, следимо следеће кораке редом:
# 1) буилд.градле датотека треба да има додатак Мавен.
# 2) буилд.градле датотека треба да има следећи блок кода:
apply plugin: 'java' apply plugin: 'maven' group = 'com.test' version = '0.4' dependencies { compile 'commons-lang:commons-lang:2.3' }
# 3) Затим изврши градле инсталл.
То ће резултирати генерисањем пом-дефаулт.кмл датотека унутар пом подмапе.
Конфигурација Мавена
Информације о конфигурацији Мавен за употребу и изграђене пројекте остају на следећим местима:
- МАВЕН_ОПТс променљива околине : Садржи информације потребне за покретање Јава виртуелне машине (ЈВМ), а такође пружа и додатне функције као што су меморијске поставке ЈВМ-а које се могу поставити на вредност као -Ксмс256м -Ксмк512м.
- Датотека Сеттингс.кмл: Ова датотека се налази у директоријуму УСЕР_ХОМЕ / .м2. Ова датотека брине о већини конфигурација коришћених у свим пројектима изграђеним у Мавену.
- .мвн директоријум: Ова фасцикла проналази место на највишем нивоу директорија пројекта. Датотеке јвм.цонфиг, мавен.цонфиг и ектенсионс.кмл садрже информације о конфигурацији специфичној за пројекат.
- .мвн / ектенсион.кмл датотека
- .мвн / мавен.цонфиг датотека
- .мвн / јвм.цонфиг датотека
Конфигурација Мавена се врши на доле наведеним нивоима:
- Инсталација: Ово се прилагођава током инсталације Мавена.
- Пројекат: Ово је статично које се одржава у датотеци пом.кмл.
- Корисник: Ово је конфигурисано за одређеног корисника.
Конфигурација пројекта примењује се на цео пројекат, док се остале конфигурације (инсталација и корисничка) примењују на окружење у којем радимо. Инсталација и корисничке конфигурације не могу се додати као део заједничких података о пројекту.
Конфигурација локалног спремишта
Локација локалног спремишта може се променити као део конфигурације корисника. Подразумевано је локација .м2 директоријум. То се постиже доњим кмл кодом.
path to the directory
Проки Цонфигуратион
Конфигурација проки сервера се може одржавати у подешавањима.
Конфигурација паралелне резолуције артефакта
Мавен истовремено преузима највише 5 артефаката из различитих група.
Да бисмо преузели два артефакта, треба да наведемо следећу команду:
мвн -Дмавен.артифацт.тхреадс = 2 провери
Конфигурација примене и безбедности
Одељак описује спремишта која ће се применити у одређеном пројекту. Информације попут корисничког имена, лозинке и других безбедносних параметара не могу се сместити унутар тог пројекта. Да бисмо пружили ове информације, морамо их додати мапиране у ид спремишта за размештање унутар пројекта.
То се постиже доњим кмл кодом.
testrepository test password
Конфигурација профила
Спремиште Мавен може се конфигурисати за стављање у профил. Истодобно може бити више профила. У зависности од захтева, можемо задржати један активан профил тако да можемо да се пребацимо у различита окружења.
Остале опционе конфигурације
Да бисмо имали конфигурацију специфичну за окружење која није специфична за сваки пројекат, морамо да конфигуришемо поставке.
греп наредба у уник скрипти љуске
Мавен садржи датотеку за подешавања која је присутна у инсталационом или корисничком почетном директоријуму. Води рачуна о конфигурацији неких параметара животне средине као што је приказано доле:
- Корисничко име и лозинка сервера
- Локација менаџера спремишта
- ХТТП проки сервер
Конфигурације безбедности
До Мавена 2.1.0+ имамо могућност шифровања лозинки унутар датотеке подешавања. Али морамо да направимо главну лозинку пре него што кренемо на шифровање.
Мавен Плугинс
Мавен додаци су саставни део Мавен оквира. Сваки додатак је додељен одређеном задатку.
Постоје две врсте додатака као што је приказано у наставку:
- Буилд Плугинс : Извршавају се у време израде и требало би их описати под ознаком израде у датотеци пом.кмл.
- Додаци за извештавање : Извршавају се у време генерисања локације и требали би бити описани под ознаком извештавања у датотеци пом.кмл.
Листа испод приказује неке од основних додатака за Мавен:
Цоре Плугинс | Извршени задаци |
---|---|
чист | Чисти артефакте након израде. |
компајлер | Јава изворни код је компајлиран. |
развити | Артефакти верзије су распоређени у удаљеном спремишту. |
инсталирај | Артефакти верзије су инсталирани у локално спремиште. |
верификатор | Користи се за интеграционе тестове. |
ресурса | Излазни директоријум добија копију ресурса за укључивање у Јар. |
сајт | Генерисана је тренутна локација пројекта. |
верификатор | Користи се за тест интеграције и проверава одређене услове. |
Неки од додатака за извештавање Мавен наведени су у наставку:
Додаци за извештавање | Извршени задаци |
пмд | Генерише се ПМД извештај. |
цхангелог | Најновије промене из СЦМ-а генеришу се у облику листе. |
Промене | Извештај о програму за праћење проблема се генерише. |
цхецкстиле | Генерише се извештај о чек стилу. |
Јавадоц | Генерише се Јава доц за пројекат. |
сигуран извештај | Резултати јединичних тестова генеришу се у облику извештаја. |
линкцхецк | Генерише се линкцхецк извештај за пројектну документацију. |
јкр | Генерише се унакрсна референца извора. |
ФАК одељак
П # 1) Да ли је Мавен бољи од Градлеа?
Одговор: Градле користи инкрементални приступ и приступ избегавању посла. Градле надгледа улазне и излазне задатке и извршава оне који су потребни. Међутим, за мање пројекте Мавен је и даље пожељнији, док је Градле погодан за веће и сложене пројекте.
П # 2) Зашто је Градле бржи од Мавена?
Одговор: Градле је много бржи од Мавена због доле наведених приступа Градлеу.
- Употреба Градле Даемон-а који одржава детаље зграде спремним у меморији.
- Компилација на инкрементални начин.
- Употреба буилд-цацхе-а који узима артефакте из претходних буилд-ова.
- Моделирање зависности на ефикасан начин од Градле-а уз помоћ Јава додатка.
П # 3) Шта је Мавен Градле?
Одговор: Градле је алат за изградњу аутоматизације који је развијен на карактеристикама Апацхе Ант и Апацхе Мавен. Отвореног је кода и ради на језику повезаном са доменом Гроови. Не покреће је датотека пом.кмл како је користи Мавен за зависности и конфигурације пројекта.
П # 4) Зашто се даје предност Мавену?
Одговор:
Мавен је пожељнији због следећих предности:
- Централно спремиште за све зависности од пројекта.
- Одржава заједничку структуру директоријума унутар организација.
- Може се интегрисати са алатима за контролу верзија као што је Гит и алатом за континуирану интеграцију попут Јенкинса.
- Процес израде је поједностављен, лак и једнообразан.
П # 5) Да ли је Мавен само за Јаву?
Одговор: Мавен је алат за управљање пројектима и изградњу који се обично користи за Јава пројекте. Међутим, може се користити за пројекте развијене у Руби, Ц #, Сцала, и тако даље.
П # 6) Зашто се Мавен користи у Ецлипсе-у?
Одговор: Ецлипсе ИДЕ аутоматски преузима зависности и конфигурације из Мавен спремишта. Такође, стварање нових Мавен пројеката, подршка постојећем пројекту Мавен и пом .кмл може се обавити уз помоћ Ецлипсе-а.
П # 7) Који је језик Градле?
Одговор: Градле даје језик повезан са доменом који се такође назива ДСЛ за изградњу. Овај језик је доступан у Гроовију и Котлину.
ка инжењерски интервју питања одговоре пдф
П # 8) Које су предности Мавена?
Мавен има неке зависности попут следеће:
- Централно спремиште за све зависности од пројекта.
- Одржава заједничку структуру директоријума унутар организација.
- Може се интегрисати са алатима за контролу верзија као што је Гит и алатом за континуирану интеграцију попут Јенкинса.
- Процес израде је поједностављен и лак.
Закључак
У овом водичу разговарано је о концептима као што су Градле вс Мавен, како претворити Градле у Мавен и обрнуто, Мавен конфигурације и додаци. Такође су истражене неке од основних команди на Мавену и Градлеу.
Што се тиче додатака Мавен, разговарали смо о неким додатним извештајима и основним додатцима Мавен.
Будући да је врућа тема на тржишту, неопходно је развити разумевање предмета и развити стручност у вези са овим алатом.
=> Прочитајте серију Еаси Мавен Траининг Сериес.
Препоручено читање
- Шта је Мавен - Водич за почетнике за Мавен
- Како створити пројекат Градле са селеном
- Како користити Градле за изградњу, тестирање и примену пројеката
- Скрипта за Гатлинг и креирајте пројекат за Гатлинг помоћу архетипа Мавен
- Интеграција Мавена са ТестНг-ом помоћу Мавен Сурефире додатка
- Шта су ПОМ (пројектни модел пројекта) и пом.кмл у Мавену
- Конфигурисање Мавен-а са Ецлипсе Јава ИДЕ
- 31 најчешће постављана питања и одговори у интервјуу са Мавеном