Java

Úložiská Gradle

Úložiská Gradle
Gradle hľadá externé závislosti v úložiskách. Úložisko Gradle je organizované podľa skupiny, názvu a verzie. Gradle je kompatibilný s rôznymi formátmi úložiska, ako sú Maven a Ivy.

Pochopenie riadenia závislostí v Gradle

Úložiská sa v Gradle používajú na správu závislostí. Závislosti Gradle pozostávajú z dvoch komponentov: závislosti a publikácie projektu.

Keď na Gradle staviate projekt, pravdepodobne budete potrebovať knižnice od iných vývojárov. Predpokladajme, že potrebujete knižnicu Apache Commons Lang na špeciálne manipulácie s reťazcami. Potrebujete ho preto vo svojej triede, aby mohol váš kód fungovať. A Apache Commons Lang môže potrebovať ďalšie knižnice, o ktorých neviete. Gradle vám umožňuje povedať konkrétnej závislosti, ktorú váš projekt potrebuje, a pôjde do určeného úložiska ako Maven alebo Ivy a zistí všetky súvisiace závislosti a stiahne súbory a automaticky ich nastaví za vás.

Gradle má tiež možnosť publikovať vaše artefakty. Môžete rozhodnúť, čo znamená zverejnenie pre váš konkrétny prípad. Môžete ho publikovať lokálne alebo do úložiska Maven alebo Ivy.

Príklad úložiska Gradle

Predpokladajme, že chceme použiť triedu StringUtils z knižnice Apache Commons Lang. Postavme takého riaditeľa:

helloworld
| - zostaviť.gradle
„- src
| - hlavné
'- java
„- helloworld
„- helloworld.java

V helloworlde.java, môžete vložiť nasledujúci kód:

import org.apache.Commons.lang3.StringUtils;
verejná trieda helloworld
public static void main (String [] args)
String greetings = "Ahoj Svet!";
Systém.von.println (pozdravy);
Systém.von.println (StringUtils.swapCase (pozdravy));

A v zostave.súbor gradle môžete vložiť nasledovné:

použiť plugin: 'java'
verzia = '1.0 '
úložiská
mavenCentral ()

závislosti
zostaviť skupinu: „org.apache.commons ', meno:' commons-lang3 ', verzia:' 3.7 '

jar
z konfigurácií.zostaviť.zbierať zipTree it

Poďme diskutovať o tom, čo sa deje vo vyššie uvedenom zostavovacom skripte. Hovorí spoločnosti Gradle, aby hľadala v úložisku Maven Commons-lang3 verzie 3.7. Tiež hovorí spoločnosti Gradle, aby balila závislosti do súboru jar. Ak odstránite konfigurácie.zostaviť.zhromaždiť riadok zipTree it, pri spustení programu budete musieť do cesty triedy zahrnúť externé závislosti.

Teraz z koreňového priečinka môžete zostavenie spustiť pomocou príkazu

$ gradle jar
Mali by ste vidieť tieto výsledky:
$ gradle jar
Stiahnite si https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.pom
Stiahnite si https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-parent / 42 /
commons-parent-42.pom
Stiahnite si https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.jar
STAVTE SA ÚSPEŠNE za 6 s
2 vykonateľné úlohy: 1 vykonaná, 1 aktuálna

Zostavu môžete spustiť takto:

$ java -cp build / libs / helloworld-1.0.jar helloworld
Ahoj svet!
AHOJ SVET!

Ak by ste do svojho zostavenia nezahrnuli závislosti, potom by do vášho helloworld-1 neboli zahrnuté triedy StringUtils.0.súbor jar. A dostali by ste takúto chybu:

$ java -cp build / libs / helloworld-1.0.jar helloworld
Ahoj svet!
Výnimka vo vlákne „main“ java.lang.NoClassDefFoundError: org / apache / commons / lang3 /
StringUtils na helloworld.hlavné (helloworld.java: 11)
Spôsobil: java.lang.ClassNotFoundException: org.apache.Commons.lang3.StringUtils
na jave.sieť.URLClassLoader.findClass (URLClassLoader.java: 381)
na jave.lang.ClassLoader.loadClass (ClassLoader.java: 424)
na slnku.rôzne.Launcher $ AppClassLoader.loadClass (spúšťač.java: 331)
na jave.lang.ClassLoader.loadClass (ClassLoader.java: 357)
… ešte 1

Gradle vám uľahčuje zabalenie závislostí do vášho balíka.

Záver

Používanie funkcií úložísk Gradle a závislostí vám môže zjednodušiť proces riadenia závislostí. Nemusíte všetko manuálne sledovať.

Ďalšie štúdium:

Gradle Dependency Management pre projekty Java

Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...