Java

Gradle krātuves

Gradle krātuves
Gradle krātuvēs meklē ārējās atkarības. Gradle krātuve tiek organizēta, izmantojot grupu, vārdu un versiju. Gradle ir saderīgs ar dažādiem krātuves formātiem, piemēram, Maven un Ivy.

Izpratne par atkarības pārvaldību Gradle

Krātuvē krātuves tiek izmantotas atkarības pārvaldībai. Gradle atkarībām ir divi komponenti: atkarības un projekta publikācijas.

Veidojot projektu uz Gradle, jums, iespējams, būs nepieciešamas citu izstrādātāju bibliotēkas. Pieņemsim, ka īpašām virkņu manipulācijām jums ir nepieciešama Apache Commons Lang bibliotēka. Tātad, lai kods darbotos, jums tas ir nepieciešams klases ceļā. Apache Commons Lang var būt nepieciešamas papildu bibliotēkas, kuras jūs nezināt. Gradle ļauj jums pateikt konkrēto atkarību, kas nepieciešama jūsu projektam, un tā nonāks norādītajā krātuvē, piemēram, Maven vai Ivy, un izdomās visas saistītās atkarības, lejupielādēs failus un iestatīs to automātiski.

Gradle ir arī iespēja publicēt savus artefaktus. Jūs varat izlemt, ko publikācija nozīmē jūsu konkrētajā gadījumā. Varat to publicēt lokāli vai publicēt Maven vai Ivy repozitorijā.

Gradle krātuves piemērs

Pieņemsim, ka mēs vēlamies izmantot StringUtils klasi no Apache Commons Lang bibliotēkas. Izveidosim šādu režisoru:

Sveika pasaule
| - veidot.gradle
'- src
| - galvenais
'- java
'-- Sveika pasaule
'-- Sveika pasaule.java

Pasaule.java, varat ievietot šādu kodu:

importēt org.apache.commons.lang3.StringUtils;
sabiedrības klases kolēģis
public static void main (String [] args)
Stīgu sveicieni = "Sveika pasaule!";
Sistēma.ārā.println (apsveikumi);
Sistēma.ārā.println (StringUtils.swapCase (apsveikumi));

Un būvē.gradle failu varat ievietot sekojošo:

piemērot spraudni: 'java'
versija = '1.0 '
krātuves
mavenCentral ()

atkarības
sastādīt grupu: 'org.apache.commons ”, nosaukums:“ commons-lang3 ”, versija:“ 3.7 '

burka
no konfigurācijām.sastādīt.savākt zipTree it

Apspriedīsim, kas notiek iepriekš izveidotajā skriptā. Gradlei tiek likts meklēt Maven repozitorijā par 3. versiju commons-lang3.7. Tas arī liek Gradlei iesaiņot atkarības burkā. Ja noņemat no konfigurācijām.sastādīt.apkopot zipTree it rindiņu, tad, palaižot programmu, jums būs jāiekļauj ārējās atkarības klases ceļā.

Tagad no saknes mapes varat palaist veidot ar komandu

$ gradle jar
Jums vajadzētu redzēt šādus rezultātus:
$ gradle jar
Lejupielādējiet https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.pom
Lejupielādējiet https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-parent / 42 /
commons-vecāks-42.pom
Lejupielādējiet https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.burka
VEICIET veiksmīgi 6 sekunžu laikā
2 veicami uzdevumi: 1 izpildīts, 1 atjaunināts

Veidošanu var palaist šādi:

$ java -cp build / libs / helloworld-1.0.burku kolēģis
Sveika pasaule!
Sveika pasaule!

Ja jūs nebūtu iekļāvis atkarības savā būvējumā, tad StringUtils klases nebūtu iekļautas jūsu helloworld-1.0.burku fails. Un jūs būtu ieguvis šādu kļūdu:

$ java -cp build / libs / helloworld-1.0.burku kolēģis
Sveika pasaule!
Izņēmums pavedienā "galvenā" java.lang.NoClassDefFoundError: org / apache / commons / lang3 /
StringUtils pie pasaules.galvenais (kolēģis.java: 11)
Izraisa: java.lang.ClassNotFoundException: org.apache.kopīgas.lang3.StringUtils
pie java.tīkls.URLClassLoader.findClass (URLClassLoader.java: 381)
pie java.lang.ClassLoader.loadClass (ClassLoader.java: 424)
pie saules.dažādi.Palaidējs $ AppClassLoader.loadClass (palaidējs.java: 331)
pie java.lang.ClassLoader.loadClass (ClassLoader.java: 357)
… Vēl 1

Gradle atvieglo atkarību iesaiņošanu paketē.

Secinājums

Izmantojot Gradle krātuves un atkarību funkcijas, var vienkāršot atkarību pārvaldības procesu. Jums nav manuāli jāseko līdzi visam.

Turpmāka izpēte:

Gradle Atkarības pārvaldība Java projektiem

5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...
Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...