Miten Maven ratkaisee automaattisesti jar-kirjastojen riippuvuudet.


Julkaisupäivä:17. tammikuuta 2021.



INFOMARTION > Miten Maven ratkaisee automaattisesti jar-kirjastojen riippuvuudet.

Yleiskatsaus.

Maven lataa purkit automaattisesti internetistä, mutta haluaisin selittää tarkalleen, miten se toimii.

Tämän artikkelin lähtökohtana on, että sinun on ymmärrettävä, mikä Maven on, joten jos et tunne itse Mavenia, tutustu myös seuraavaan artikkeliin.

Mikä on Maven ja mitä Maven tekee?

Sisällysluettelo

  1. Mavenin kyky ratkaista jar-kirjastojen riippuvuudet.
  2. yhteenveto

1. Mavenin kyky ratkaista jar-kirjastojen riippuvuudet.

Maven voi hakea jar-tiedostot automaattisesti määrittämällä tarvittavat jar-tiedostot pom.xml-tiedostossa. Se oppii myös automaattisesti riippuvaiset purkit, joita tarvitaan kyseisen purkin käyttämiseen. Haluaisin selittää, miten se toimii.

1-1. Mitä pom.xml-tiedostoon sisällytetään.

Ensiksi jar-kirjaston riippuvuuden selvittämiseksi pom.xml-tiedostossa annetaan tietoa. Maven käsittelee pom.xml-tiedoston tietoja. Jos esimerkiksi "poi-3.17.jar" tarvitaan, se kuvataan pom.xml-tiedostossa seuraavasti. (Poi-3.17.jar on muuten purkki, jota käytetään Microsoft Office -tiedostojen, kuten Excelin, käsittelyyn.)

pom.xml


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

Pelkkä maininta edellä mainitusta lataa "poi-3.17.jar" Internetistä ja lataa myös mukana tulevan jar-tiedoston Internetistä, jota tarvitaan "poi-3.17.jar" suorittamiseen.

1-2. Miten ne ladataan internetistä?

Järjestelmän yksinkertainen selitys on esitetty alla olevassa kaaviossa.

Lataa Internetissä saatavilla olevista Maven-arkistoista. Jos mitään ei ole asetettu, oletusarvo on Keskustietokanta. URL-osoite on seuraava.

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

Seuraavalla verkkosivustolla on luettelo internetissä saatavilla olevista arkistoista, jos olet kiinnostunut.

https://mvnrepository.com/repos

Ensimmäisellä kerralla purkki haetaan ulkoisesta arkistosta, mutta se kopioidaan paikalliseen arkistoon eikä sitä haeta enää toisella kerralla. Paikallisen arkiston sijainti on "C:\Users\user\.m2".

Jos haluat muuttaa määränpään oletusarvosta, voit muuttaa määränpäätä myös lisäämällä seuraavan repository-tagin pom.xml-tiedostoon.

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. Mekanismit hankittavan purkin riippuvuuksien ratkaisemiseksi.

Kuvasimme juuri esimerkin 'poi-3.17.jar'n hankkimisesta, mutta 'poi-3.17.jar' vaatii 'commons-collections4-4.1.jar'n' toimiakseen. Tämä tarkoittaa, että 'poi-3.17.jar' riippuu 'commons-collections4-4.1.jar'sta. Mekanismi tämän riippuvuuden ratkaisemiseksi löytyy Maven-arkistosta, johon 'poi-3.17.jar' on tallennettu. URL-osoite on seuraava.

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

Luulen, että "poi-3.17.pom" on tallennettu, ja tässä tiedostossa on tietoa siitä, että "poi-3.17.jar" riippuu "commons-collections4-4.1.jar". Tämä tarkoittaa, että kun haetaan 'poi-3.17.jar', järjestelmä hakee jar-tiedoston lisäksi myös pom-tiedoston ja tarkistaa muut tarvittavat jar-tiedostot.

2. yhteenveto

Mavenin mekanismi jar-kirjastojen riippuvuuksien ratkaisemiseksi on se, että riippuvuudet määritellään pom-tiedostossa, johon haettavat jar-tiedostot on tallennettu.

Kiitos, että katsoitte loppuun asti.