„Java“

„Gradle“ saugyklos

„Gradle“ saugyklos
Gradle ieško išorinių priklausomybių saugyklose. „Gradle“ saugykla organizuojama naudojant grupę, pavadinimą ir versiją. „Gradle“ yra suderinamas su skirtingais saugyklos formatais, tokiais kaip „Maven“ ir „Ivy“.

Suprasti priklausomybės valdymą „Gradle“

„Gradle“ saugyklos naudojamos priklausomybės valdymui. Yra du „Gradle“ priklausomybių komponentai: priklausomybės ir projekto leidiniai.

Kai kuriate projektą „Gradle“, jums greičiausiai reikės kitų kūrėjų bibliotekų. Tarkime, kad jums reikia „Apache Commons Lang“ bibliotekos, kad būtų galima atlikti specialias eilutes. Taigi, norint, kad jūsų kodas veiktų, jo reikia savo klasės kelyje. „Apache Commons Lang“ gali prireikti papildomų bibliotekų, apie kurias nežinote. „Gradle“ leidžia jums pasakyti konkrečią priklausomybę, kurios reikia jūsų projektui, ir ji pateks į nurodytą saugyklą, pvz., „Maven“ ar „Ivy“, ir išsiaiškins visas susijusias priklausomybes, atsisiųs failus ir automatiškai nustatys jums.

„Gradle“ taip pat turi galimybę paskelbti savo dirbinius. Galite nuspręsti, ką paskelbimas reiškia jūsų konkrečiu atveju. Galite jį paskelbti vietoje arba paskelbti „Maven“ ar „Ivy“ saugykloje.

„Gradle“ saugyklos pavyzdys

Tarkime, mes norime naudoti „StringUtils“ klasę iš „Apache Commons Lang“ bibliotekos. Sukurkime tokį režisierių:

Labas pasauli
| - statyti.gradlas
- src
| - pagrindinis
'- java
'-- Labas pasauli
'-- Labas pasauli.java

Bendruomenėje.java, galite įdėti šį kodą:

importuoti org.apache.bendri.lang3.„StringUtils“;
visuomenės klasės kolegos
public static void main (String [] argumentuoja)
Styginiai sveikinimai = "Sveikas pasauli!";
Sistema.išėjo.println (sveikinimai);
Sistema.išėjo.println (StringUtils.swapCase (sveikinimai));

Ir pastate.gradle failą galite įdėti:

taikyti papildinį: „java“
versija = '1.0 '
saugyklos
„mavenCentral“ ()

priklausomybės
sudaryti grupę: 'org.apache.commons “, pavadinimas:„ commons-lang3 “, versija:„ 3.7 '

stiklainis
iš konfigūracijų.sudaryti.rinkti zipTree it

Aptarkime, kas vyksta aukščiau esančiame komponavimo scenarijuje. Gradlei liepiama ieškoti „Maven“ saugykloje, skirtoje „commons-lang3“ 3 versijai.7. Gradlei taip pat liepiama pakuoti priklausomybes į stiklainio failą. Jei pašalinsite iš konfigūracijų.sudaryti.rinkti eilutę zipTree it, tada paleisdami programą turėsite įtraukti išorines priklausomybes į klasės kelią.

Dabar iš šakninio aplanko galite paleisti komponavimą naudodami komandą

$ gradle stiklainis
Turėtumėte pamatyti tokius rezultatus:
$ gradle stiklainis
Atsisiųskite https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.pom
Atsisiųskite https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-parent / 42 /
42-ieji-tėvai.pom
Atsisiųskite https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.stiklainiukas
STEBĖKITE SĖKMINGAI per 6 sekundes
2 užduotys, kurias galima atlikti: 1 įvykdyta, 1 atnaujinta

Versiją galite paleisti taip:

$ java -cp build / libs / helloworld-1.0.stiklainis kolegų pasaulis
Labas pasauli!
Labas pasauli!

Jei nebūtumėte įtraukę priklausomybių į savo versiją, „StringUtils“ klasės nebūtų įtrauktos į jūsų kolegas-1.0.stiklainio failas. Ir jūs būtumėte gavę tokią klaidą:

$ java -cp build / libs / helloworld-1.0.stiklainis kolegų pasaulis
Labas pasauli!
Išimtis „pagrindinėje“ java.lang.NoClassDefFoundError: org / apache / commons / lang3 /
StringUtils pas kolegas.pagrindinis (kolegos pasaulis.java: 11)
Sukėlė: java.lang.„ClassNotFoundException“: org.apache.bendri.lang3.„StringUtils“
ties java.neto.URLClassLoader.findClass (URLClassLoader.java: 381)
ties java.lang.„ClassLoader“.„loadClass“ („ClassLoader“.java: 424)
prie saulės.kita.Paleidimo priemonė „$ AppClassLoader“.„loadClass“ (paleidimo priemonė.java: 331)
ties java.lang.„ClassLoader“.„loadClass“ („ClassLoader“.java: 357)
... dar 1

„Gradle“ leidžia lengvai supakuoti priklausomybes į savo paketą.

Išvada

Naudodami „Gradle“ saugyklas ir priklausomybių funkcijas galite supaprastinti priklausomybės valdymo procesą. Jums nereikia rankiniu būdu sekti visko.

Tolesnis tyrimas:

„Java“ projektų „Gradle“ priklausomybės valdymas

Atvirojo kodo komercinių žaidimų variklių uostai
Nemokami atvirojo kodo ir įvairių platformų žaidimų varikliai gali būti naudojami žaidžiant senus ir kai kuriuos gana naujus žaidimų pavadinimus. Šiam...
Geriausi „Linux“ komandinės eilutės žaidimai
Komandų eilutė yra ne tik jūsų didžiausias sąjungininkas naudojant „Linux“, bet ir pramogų šaltinis, nes ją galite naudoti norėdami žaisti daug įdomių...
Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...