Jáva

Gradle tárolók

Gradle tárolók
Gradle külső függőségeket keres a tárakban. A Gradle adattár csoport, név és verzió felhasználásával van rendezve. A Gradle kompatibilis a különböző adattár formátumokkal, mint például a Maven és az Ivy.

A függőségkezelés megértése a fokozatban

Az adattárakat a Gradle-ben használják a függőségkezeléshez. A Gradle-függőségeknek két összetevője van: függőségek és a projekt publikációi.

Amikor egy projektet épít a Gradle-re, valószínűleg más fejlesztők könyvtáraira lesz szüksége. Tegyük fel, hogy speciális karakterlánc-manipulációkhoz szüksége van az Apache Commons Lang könyvtárra. Tehát szüksége van rá az osztályterületén, hogy működhessen a kódja. Az Apache Commons Lang-nak pedig további könyvtárakra lehet szüksége, amelyekről Ön még nincs tisztában. A Gradle lehetővé teszi, hogy megmondja azt a függőséget, amelyre a projektnek szüksége van, és az a megadott tárházba kerül, mint például a Maven vagy az Ivy, és kitalálja az összes kapcsolódó függőséget, letölti a fájlokat és automatikusan beállítja az Ön számára.

Gradle képes közzétenni a műtárgyakat is. Eldöntheti, hogy a közzététel mit jelent az Ön esetére. Közzéteheti helyben, vagy közzéteheti egy Maven vagy Ivy adattárban.

Gradle Repository példa

Tegyük fel, hogy az Apache Commons Lang könyvtár StringUtils osztályát szeretnénk használni. Állítsunk fel egy ilyen rendezőt:

Helló Világ
| - épít.gradle
'- src
| - fő
'- java
'-- Helló Világ
'-- Helló Világ.Jáva

A fõvilágban.java, beírhatja a következő kódot:

import org.apache.közönséges.lang3.StringUtils;
nyilvános osztály helloworld
public static void main (String [] érvel)
String üdvözlet = "Hello World!";
Rendszer.ki.println (üdvözlet);
Rendszer.ki.println (StringUtils.swapCase (üdvözlet));

És az építkezésben.gradle fájl a következőket teheti:

plugin alkalmazása: 'java'
verzió = '1.0 '
adattárak
mavenCentral ()

függőségek
compile group: 'org.apache.commons ”, név:„ commons-lang3 ”, verzió:„ 3.7 '

befőttes üveg
konfigurációkból.összeállítani.gyűjteni zipTree it

Beszéljük meg, mi történik a fenti build-szkriptben. Azt mondja Gradle-nek, hogy keresse meg a Maven tárházban a commons-lang3 3. verzióját.7. Azt is megmondja Gradle-nek, hogy csomagolja be a függőségeket a jar fájlba. Ha eltávolítja a konfigurációk közül.összeállítani.gyűjtsd össze a zipTree it sort, akkor a program futtatásakor be kell vonnod a külső függőségeket az osztályútvonalba.

Most a gyökérmappából futtathatja a buildet a paranccsal

$ gradle jar
Ilyen eredményeket kell látnia:
$ gradle jar
Letöltés https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.pom
Töltse le a https: // repo terméket.maven.apache.org / maven2 / org / apache / commons / commons-parent / 42 /
commons-szülő-42.pom
Töltse le a https: // repo terméket.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.befőttes üveg
6 S múlva sikeresen épül
2 végrehajtható feladat: 1 végrehajtott, 1 naprakész

Az összeállítást így futtathatja:

$ java -cp build / libs / helloworld-1.0.jar helloworld
Helló Világ!
Helló Világ!

Ha nem vetted volna fel a függőségeket az építkezésbe, akkor a StringUtils osztályok nem lettek volna bekerülve a helloworld-1-be.0.jar fájl. És ilyen hibát kapott volna:

$ java -cp build / libs / helloworld-1.0.jar helloworld
Helló Világ!
Kivétel a "main" java szálban.lang.NoClassDefFoundError: org / apache / commons / lang3 /
StringUtils a helloworldnél.fő (helloworld.java: 11)
Okozta: java.lang.ClassNotFoundException: org.apache.közönséges.lang3.StringUtils
java-nál.háló.URLClassLoader.findClass (URLClassLoader.java: 381)
java-nál.lang.ClassLoader.loadClass (ClassLoader.java: 424)
napsütéskor.egyéb.Launcher $ AppClassLoader.loadClass (Launcher.java: 331)
java-nál.lang.ClassLoader.loadClass (ClassLoader.java: 357)
… Még 1

A Gradle megkönnyíti a függőségek csomagolását.

Következtetés

A Gradle adattárak és függőségek funkcióinak használata egyszerűsítheti a függőségkezelési folyamatot. Nem kell manuálisan nyomon követni mindent.

A további vizsgálat:

Gradle Dependency Management Java projektekhez

Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...
Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...