Kaip "Maven" automatiškai išsprendžia stiklainių bibliotekų priklausomybes.


Paskelbimo data:2021 m. sausio 17 d.



INFOMARTION > Kaip "Maven" automatiškai išsprendžia stiklainių bibliotekų priklausomybes.

Apžvalga.

"Maven" automatiškai parsisiunčia stiklainius iš interneto, tačiau norėčiau paaiškinti, kaip tai veikia.

Šio straipsnio prielaida yra ta, kad turite suprasti, kas yra "Maven", todėl jei nesate susipažinę su pačia "Maven", taip pat turėtumėte perskaityti šį straipsnį.

Kas yra "Maven" ir ką "Maven" daro?

Turinys

  1. "Maven" gebėjimas išspręsti "jar" bibliotekų priklausomybes.
  2. santrauka

1. "Maven" gebėjimas išspręsti "jar" bibliotekų priklausomybes.

"Maven" gali automatiškai gauti "jar" rinkmenas, paprasčiausiai apibrėždama reikalingas "jar" rinkmenas pom.xml faile. Ji taip pat automatiškai sužino priklausomus stiklainius, reikalingus tam stiklainiui paleisti. Norėčiau paaiškinti, kaip tai veikia.

1-1. Ką įtraukti į pom.xml failą.

Pirma, norint nustatyti jar bibliotekos priklausomybę, informacija pateikiama pom.xml faile. "Maven" apdoroja informaciją iš pom.xml failo. Jei reikia, pavyzdžiui, "poi-3.17.jar", jis pom.xml aprašomas taip. (Beje, "poi-3.17.jar" yra stiklainis, naudojamas "Microsoft Office" failams, pvz., "Excel", tvarkyti.)

pom.xml


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

Tiesiog paminėjus tai, kas išdėstyta pirmiau, "poi-3.17.jar" bus atsisiųstas iš interneto, taip pat iš interneto bus atsisiųstas pridedamas "jar", kurio reikia norint paleisti "poi-3.17.jar".

1-2. Kaip jie atsisiunčiami iš interneto?

Paprastas sistemos paaiškinimas parodytas toliau pateiktoje schemoje.

Atsisiųskite iš internete esančių "Maven" saugyklų. Jei nieko nenustatyta, numatytoji reikšmė yra Centrinė saugykla. URL adresas yra toks.

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

Jei susidomėjote, internete esančių saugyklų sąrašą rasite šioje svetainėje.

https://mvnrepository.com/repos

Pirmą kartą stiklainis paimamas iš išorinės saugyklos, tačiau antrą kartą jis nukopijuojamas į vietinę saugyklą ir nebepaimamas. Vietinės saugyklos vieta yra "C:\Users\user\.m2".

Jei norite pakeisti numatytąją paskirties vietą, taip pat galite pakeisti paskirties vietą, į pom.xml įtraukdami šią saugyklos žymą.

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. Įsigyjamo stiklainio priklausomybių sprendimo mechanizmai.

Ką tik aprašėme pavyzdį, kaip gauti "poi-3.17.jar", tačiau norint paleisti "poi-3.17.jar" reikia "commons-collections4-4.1.jar". Tai reiškia, kad 'poi-3.17.jar' priklauso nuo 'commons-collections4-4.1.jar'. Šios priklausomybės sprendimo mechanizmą galima rasti "Maven" saugykloje, kurioje saugoma "poi-3.17.jar". URL adresas yra toks.

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

Manau, kad saugomas "poi-3.17.pom", o šiame faile rasite informaciją, kad "poi-3.17.jar" priklauso nuo "commons-collections4-4.1.jar". Tai reiškia, kad ieškodama "poi-3.17.jar", sistema gauna ne tik jar failą, bet ir pom failą bei patikrina, ar yra kitų reikalingų jar failų.

2. santrauka

"Maven" "jar" bibliotekų priklausomybių sprendimo mechanizmas yra toks, kad priklausomybės apibrėžiamos pom faile, kuriame saugomi gautini "jar" failai.

Dėkojame, kad žiūrėjote iki pabaigos.