Разумевање управљања зависношћу у Градлеу
Спремишта се користе у Градле-у за управљање зависношћу. Постоје две компоненте зависности Градле-а: зависности и публикације пројекта.
Када градите пројекат на Градле-у, вероватно ће вам требати библиотеке других програмера. Претпоставимо да вам је потребна библиотека Апацхе Цоммонс Ланг за посебне манипулације низовима. Дакле, потребан вам је у путањи предавања како би ваш код могао да функционише. А Апацхе Цоммонс Ланг ће можда требати додатне библиотеке којих нисте свесни. Градле вам омогућава да одредите одређену зависност коју ваш пројекат треба, а она ће отићи до одређеног спремишта као што је Мавен или Иви и схватити све повезане зависности и преузети датотеке и аутоматски поставити за вас.
Градле такође има могућност да објави ваше артефакте. Можете одлучити шта публикација значи за ваш конкретан случај. Можете га објавити локално или објавити у спремишту Мавен или Иви.
Пример спремишта Градле
Претпоставимо да желимо да користимо класу СтрингУтилс из библиотеке Апацхе Цоммонс Ланг. Поставимо оваквог редитеља:
Здраво Свете| - буилд.градле
'- срц
| - главни
'- јава
'-- Здраво Свете
'-- Здраво Свете.јава
У хелловорлд.јава, можете ставити следећи код:
увоз орг.апацхе.цоммонс.ланг3.СтрингУтилс;јавна класа хелловорлд
јавна статичка воид главна (Стринг [] аргс)
Стринг поздрави = "Здраво свете!";
Систем.напоље.принтлн (поздрав);
Систем.напоље.принтлн (СтрингУтилс.свапЦасе (поздрав));
И у грађи.градле датотеку можете ставити следеће:
применити додатак: 'јава'верзија = '1.0 '
репозиторијуми
мавенЦентрал ()
зависности
саставити групу: 'орг.апацхе.цоммонс ', име:' цоммонс-ланг3 ', верзија:' 3.7 '
јар
из конфигурација.саставити.сакупите зипТрее ит
Хајде да разговарамо о томе шта се дешава у горњој скрипти за изградњу. Поручује Градлеу да у спремишту Мавен потражи верзију 3 цоммонс-ланг3.7. Такође поручује Градлеу да пакује зависности у јар датотеку. Ако уклоните из конфигурације.саставити.сакупите линију зипТрее ит, тада ћете морати да укључите спољне зависности у пут стазе када покренете програм.
Сада из основног директоријума можете да покренете изградњу помоћу наредбе
$ градле јарТребали бисте видети овакве резултате:
$ градле јар
Преузмите хттпс: // репо.мавен.апацхе.орг / мавен2 / орг / апацхе / цоммонс / цоммонс-ланг3 / 3.7 /
цоммонс-ланг3-3.7.пом
Преузмите хттпс: // репо.мавен.апацхе.орг / мавен2 / орг / апацхе / цоммонс / цоммонс-парент / 42 /
заједничко-родитељ-42.пом
Преузмите хттпс: // репо.мавен.апацхе.орг / мавен2 / орг / апацхе / цоммонс / цоммонс-ланг3 / 3.7 /
цоммонс-ланг3-3.7.тегла
ИЗГРАДИТИ УСПЕШНО за 6с
2 активна задатка: 1 извршен, 1 савремен
Изградњу можете покренути овако:
$ јава -цп буилд / либс / хелловорлд-1.0.тегла хелловорлдЗдраво Свете!
Здраво Свете!
Да у своју изградњу нисте укључили зависности, тада класе СтрингУтилс не би биле укључене у ваш хелловорлд-1.0.јар датотека. И добили бисте овакву грешку:
$ јава -цп буилд / либс / хелловорлд-1.0.тегла хелловорлдЗдраво Свете!
Изузетак у нити "маин" јава.ланг.НоЦлассДефФоундЕррор: орг / апацхе / цоммонс / ланг3 /
СтрингУтилс на хелловорлд.главни (хелловорлд.јава: 11)
Узрочник: јава.ланг.ЦлассНотФоундЕкцептион: орг.апацхе.цоммонс.ланг3.СтрингУтилс
ат јава.нето.УРЛЦлассЛоадер.финдЦласс (УРЛЦлассЛоадер.јава: 381)
ат јава.ланг.ЦлассЛоадер.лоадЦласс (ЦлассЛоадер.јава: 424)
на сунцу.мисц.Покретач $ АппЦлассЛоадер.лоадЦласс (Покретач.јава: 331)
ат јава.ланг.ЦлассЛоадер.лоадЦласс (ЦлассЛоадер.јава: 357)
… 1 више
Градле вам олакшава спаковање зависности у ваш пакет.
Закључак
Коришћење Градле репозиторијума и функционалности зависности може вам поједноставити поступак управљања зависношћу. Не морате ручно да пратите све.
Даље истраживање:
Градле Управљање зависношћу за Јава пројекте