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.
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.)
<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.
<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.