Modul în care Maven rezolvă automat dependențele bibliotecilor jar.


Data publicării:17 ianuarie 2021.



INFOMARTION > Modul în care Maven rezolvă automat dependențele bibliotecilor jar.

Prezentare generală.

Maven descarcă automat borcane de pe internet, dar aș dori să vă explic exact cum funcționează.

Premisa acestui articol este că trebuie să înțelegeți ce este Maven, așa că, dacă nu sunteți familiarizat cu Maven în sine, ar trebui să consultați și următorul articol.

Ce este Maven și ce face Maven?

Cuprins

  1. Capacitatea lui Maven de a rezolva dependențele bibliotecilor jar.
  2. rezumat

1. Capacitatea lui Maven de a rezolva dependențele bibliotecilor jar.

Maven poate prelua automat fișierele jar prin simpla definire a fișierelor jar necesare în fișierul pom.xml. De asemenea, învață automat jar-urile dependente necesare pentru a rula acel jar. Aș dori să vă explic cum funcționează.

1-1. Ce trebuie inclus în fișierul pom.xml.

În primul rând, pentru a rezolva dependența de biblioteca jar, informațiile sunt furnizate în fișierul pom.xml. Maven procesează informațiile din fișierul pom.xml. Dacă este necesar "poi-3.17.jar", de exemplu, acesta este descris în pom.xml după cum urmează. (De altfel, "poi-3.17.jar" este un jar utilizat pentru manipularea fișierelor Microsoft Office, cum ar fi Excel.)

pom.xml


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

Prin simpla mențiune de mai sus se va descărca "poi-3.17.jar" de pe Internet și se va descărca de asemenea jar-ul aferent de pe Internet, care este necesar pentru a rula "poi-3.17.jar".

1-2. Cum sunt descărcate de pe internet?

O explicație simplă a sistemului este prezentată în diagrama de mai jos.

Descărcați din depozitele Maven disponibile pe internet. Dacă nu este setat nimic, valoarea implicită este Central Repository. URL-ul este următorul.

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

Dacă sunteți interesat, consultați următorul site web pentru o listă de depozite disponibile pe internet.

https://mvnrepository.com/repos

Prima dată, jar-ul este preluat dintr-un depozit extern, dar este copiat în depozitul local și nu mai este preluat începând cu a doua oară. Locația depozitului local este "C:\Users\user\.m2".

Dacă doriți să modificați destinația față de valoarea implicită, puteți modifica destinația și prin includerea următoarei etichete repository în 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. Mecanisme de rezolvare a dependențelor borcanului care urmează să fie achiziționat.

Tocmai am descris un exemplu de obținere a fișierului "poi-3.17.jar", dar "poi-3.17.jar" are nevoie de "commons-collections4-4.1.jar" pentru a funcționa. Acest lucru înseamnă că 'poi-3.17.jar' depinde de 'commons-collections4-4.1.jar'. Mecanismul de rezolvare a acestei dependențe poate fi găsit în depozitul Maven în care este stocat 'poi-3.17.jar'. URL-ul este următorul.

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

Cred că este stocat "poi-3.17.pom", iar în acest fișier veți găsi informații conform cărora "poi-3.17.jar" depinde de "commons-collections4-4.1.jar". Aceasta înseamnă că, atunci când recuperează "poi-3.17.jar", sistemul nu recuperează numai fișierul jar, ci și fișierul pom și verifică dacă există alte fișiere jar necesare.

2. rezumat

Mecanismul Maven de rezolvare a dependențelor de bibliotecile jar este acela că dependențele sunt definite în fișierul pom în care sunt stocate fișierele jar care trebuie recuperate.

Vă mulțumim că ați urmărit până la sfârșit.