Kuidas Maven lahendab automaatselt jar-raamatukogude sõltuvused.


Avaldamise kuupäev:17. jaanuar 2021.



INFOMARTION > Kuidas Maven lahendab automaatselt jar-raamatukogude sõltuvused.

Ülevaade.

Maven laeb automaatselt internetist purgid alla, kuid ma tahaksin selgitada, kuidas see täpselt toimib.

Selle artikli eelduseks on, et te peate mõistma, mis on Maven, nii et kui te ei ole Maveniga ise tuttav, peaksite tutvuma ka järgmise artikliga.

Mis on Maven ja mida Maven teeb?

Sisukord

  1. Maveni võime lahendada jar-raamatukogude sõltuvusi.
  2. kokkuvõte

1. Maveni võime lahendada jar-raamatukogude sõltuvusi.

Maven saab jar-failid automaatselt kätte, määrates lihtsalt vajalikud jar-failid pom.xml-failis. Samuti õpib see automaatselt ära sõltuvad purgid, mida on vaja selle purgi käivitamiseks. Tahaksin selgitada, kuidas see toimib.

1-1. Mida lisada pom.xml faili.

Esiteks, et lahendada jar-raamatukogu sõltuvus, esitatakse teave pom.xml-failis. Maven töötleb teavet pom.xml-failist. Kui näiteks "poi-3.17.jar" on nõutav, kirjeldatakse seda pom.xmlis järgmiselt. (Muide, 'poi-3.17.jar' on jar, mida kasutatakse Microsoft Office'i failide, näiteks Exceli manipuleerimiseks.)

pom.xml


<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.17</version>
</dependency>

Lihtsalt mainides ülaltoodut, laetakse internetist alla "poi-3.17.jar" ning samuti laetakse internetist alla kaasnev jar, mis on vajalik "poi-3.17.jar" käivitamiseks.

1-2. Kuidas neid internetist alla laetakse?

Süsteemi lihtne selgitus on esitatud alljärgneval joonisel.

Laadige Maven'i repositooriumidest, mis on saadaval Internetis. Kui midagi ei ole määratud, on vaikimisi väärtus Central Repository. URL on järgmine.

https://repo1.maven.org/maven2/

Kui olete huvitatud, vaadake järgmist veebisaiti, kus on nimekiri internetis kättesaadavatest repositooriumidest.

https://mvnrepository.com/repos

Esimesel korral hangitakse purk välisest repositooriumist, kuid see kopeeritakse kohalikku repositooriumi ja alates teisest korrast seda enam ei hangita. Kohaliku repositooriumi asukoht on "C:\Users\user\.m2".

Kui soovite sihtkohta vaikimisi väärtusest muuta, saate sihtkohta muuta, lisades pom.xml-i järgmise repositooriumi sildi.

pom.xml


<repositories>
    <repository>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
        </snapshots>
    </repository>
</repositories>

1-3. Mehhanismid omandatava purgi sõltuvuste lahendamiseks.

Me kirjeldasime just näidet 'poi-3.17.jar' saamiseks, kuid 'poi-3.17.jar' vajab käivitamiseks 'commons-collections4-4.1.jar'. See tähendab, et 'poi-3.17.jar' sõltub 'commons-collections4-4.1.jar'-ist. Selle sõltuvuse lahendamise mehhanism on leitav Maven'i repositooriumist, kus on salvestatud 'poi-3.17.jar'. URL on järgmine.

https://repo1.maven.org/maven2/org/apache/poi/poi/3.17/

Ma arvan, et "poi-3.17.pom" on salvestatud ja selles failis on teave, et "poi-3.17.jar" sõltub "commons-collections4-4.1.jar". See tähendab, et kui süsteem otsib 'poi-3.17.jar', ei otsi süsteem mitte ainult jar-faili, vaid ka pom-faili ja kontrollib teisi vajalikke jar-faile.

2. kokkuvõte

Maveni mehhanism jar-raamatukogude sõltuvuste lahendamiseks seisneb selles, et sõltuvused määratletakse pom-failis, kuhu on salvestatud hangitavad jar-failid.

Aitäh, et vaatasite kuni lõpuni.