Hogyan oldja fel a Maven automatikusan a jar könyvtárfüggőségeket.


Megjelenés dátuma:2021. január 17.



INFOMARTION > Hogyan oldja fel a Maven automatikusan a jar könyvtárfüggőségeket.

Áttekintés.

A Maven automatikusan tölti le a jareket az internetről, de szeretném elmagyarázni, hogyan is működik ez pontosan.

Ennek a cikknek a kiindulópontja az, hogy meg kell értened, mi is az a Maven, ezért ha nem ismered magát a Maven-t, akkor a következő cikket is érdemes elolvasnod.

Mi az a Maven és mit csinál a Maven?

Tartalomjegyzék

  1. A Maven képessége a jar könyvtárfüggőségek feloldására.
  2. összefoglaló

1. A Maven képessége a jar könyvtárfüggőségek feloldására.

A Maven automatikusan le tudja hívni a jar fájlokat, ha egyszerűen meghatározza a szükséges jar fájlokat a pom.xml fájlban. Automatikusan megtanulja az adott jar futtatásához szükséges függő jar-eket is. Szeretném elmagyarázni, hogyan működik.

1-1. Mit kell felvenni a pom.xml fájlba.

Először is, a jar könyvtár függőségének feloldásához a pom.xml fájlban kell információt szolgáltatni. A Maven feldolgozza a pom.xml fájlból származó információkat. Ha például a "poi-3.17.jar" szükséges, akkor a pom.xml a következőképpen írja le. (A 'poi-3.17.jar' egyébként egy olyan jar, amelyet a Microsoft Office fájlok, például az Excel manipulálására használnak.)

pom.xml


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

A fentiek egyszerű megemlítése letölti a "poi-3.17.jar"-t az internetről, és a "poi-3.17.jar" futtatásához szükséges kísérő jar-t is letölti az internetről.

1-2. Hogyan töltik le őket az internetről?

A rendszer egyszerű magyarázata az alábbi ábrán látható.

Letöltés az interneten elérhető Maven tárolókból. Ha nincs megadva semmi, az alapértelmezett érték a Központi tároló. Az URL a következő.

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

Ha érdekli, az alábbi weboldalon megtalálja az interneten elérhető tárolók listáját.

https://mvnrepository.com/repos

Az első alkalommal a jar egy külső tárolóból kerül lekérésre, de a második alkalommal a helyi tárolóba másolódik, és nem kerül lekérésre. A helyi tároló helye "C:\Users\user\.m2".

Ha meg akarja változtatni a célállomást az alapértelmezett értéktől, akkor a következő repository tag beillesztésével a pom.xml-be is megváltoztathatja a célállomást.

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. A beszerzendő tégely függőségének feloldására szolgáló mechanizmusok.

Az imént leírtunk egy példát a 'poi-3.17.jar' beszerzésére, de a 'poi-3.17.jar' futtatásához a 'commons-collections4-4.1.jar' szükséges. Ez azt jelenti, hogy a 'poi-3.17.jar' függ a 'commons-collections4-4.1.jar'-től. A függőség feloldásának mechanizmusa megtalálható a Maven tárolóban, ahol a 'poi-3.17.jar' tárolódik. Az URL a következő.

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

Azt hiszem, a "poi-3.17.pom" van tárolva, és ebben a fájlban találsz információt arról, hogy a "poi-3.17.jar" függ a "commons-collections4-4.1.jar"-tól. Ez azt jelenti, hogy a 'poi-3.17.jar' lekérdezésekor a rendszer nem csak a jar fájlt, hanem a pom fájlt is lekérdezi, és ellenőrzi a többi szükséges jar fájlt.

2. összefoglaló

A Maven mechanizmusa a jar könyvtárak függőségének feloldására az, hogy a függőségeket a pom fájlban definiálja, ahol a lekérdezendő jar fájlok tárolódnak.

Köszönjük, hogy a végéig figyeltek.