Как Maven автоматично разрешава зависимостите на библиотеките jar.


Дата на публикуване:17 януари 2021 г.



INFOMARTION > Как Maven автоматично разрешава зависимостите на библиотеките jar.

Преглед.

Maven автоматично изтегля буркани от интернет, но бих искал да обясня как точно става това.

Предпоставката на тази статия е, че трябва да разберете какво представлява Maven, така че ако не сте запознати със самия Maven, трябва да се обърнете и към следващата статия.

Какво е Maven и какво прави Maven?

Съдържание

  1. Способността на Maven да разрешава зависимостите на библиотеките jar.
  2. резюме

1. Способността на Maven да разрешава зависимостите на библиотеките jar.

Maven може автоматично да извлича jar файловете, като просто дефинира необходимите jar файлове във файла pom.xml. Той също така автоматично научава зависимите буркани, необходими за стартирането на този буркан. Искам да обясня как работи.

1-1. Какво да се включи във файла pom.xml.

Първо, за да се разреши зависимостта на библиотеката jar, се предоставя информация във файла pom.xml. Maven обработва информацията от файла pom.xml. Ако например се изисква "poi-3.17.jar", той се описва в pom.xml по следния начин. (Между другото, 'poi-3.17.jar' е буркан, който се използва за манипулиране на файлове от Microsoft Office, като например Excel.)

pom.xml


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

Простото споменаване на горното ще изтегли "poi-3.17.jar" от интернет и също така ще изтегли съпътстващия jar от интернет, който е необходим за стартирането на "poi-3.17.jar".

1-2. Как се изтеглят от интернет?

Простото обяснение на системата е показано на схемата по-долу.

Изтегляне от хранилищата на Maven, достъпни в интернет. Ако не е зададено нищо, стойността по подразбиране е Central Repository (Централно хранилище). URL адресът е следният.

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

Ако проявявате интерес, вижте следния уебсайт за списък с хранилища, достъпни в интернет.

https://mvnrepository.com/repos

Първия път бурканът се извлича от външно хранилище, но се копира в локалното хранилище и от втория път нататък не се извлича. Местоположението на локалното хранилище е "C:\Users\user\.m2".

Ако искате да промените дестинацията от стойността по подразбиране, можете да промените дестинацията, като включите следния таг за хранилище в pom.xml.

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. Механизми за разрешаване на зависимостите на банката, която трябва да се придобие.

Току-що описахме пример за получаване на 'poi-3.17.jar', но за стартирането на 'poi-3.17.jar' е необходим 'commons-collections4-4.1.jar'. Това означава, че 'poi-3.17.jar' зависи от 'commons-collections4-4.1.jar'. Механизмът за разрешаване на тази зависимост може да бъде намерен в хранилището на Maven, където се съхранява 'poi-3.17.jar'. URL адресът е следният.

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

Мисля, че се съхранява "poi-3.17.pom", а в този файл ще намерите информация, че "poi-3.17.jar" зависи от "commons-collections4-4.1.jar". Това означава, че при извличането на 'poi-3.17.jar' системата извлича не само jar файла, но и файла pom и проверява за други необходими jar файлове.

2. резюме

Механизмът на Maven за разрешаване на зависимостите на библиотеките jar е, че зависимостите се дефинират във файла pom, в който се съхраняват файловете jar, които трябва да бъдат извлечени.

Благодарим ви, че гледахте до края.