Kā Maven automātiski atrisina jar bibliotēku atkarības.


Publikācijas datums:2021. gada 17. janvāris.



INFOMARTION > Kā Maven automātiski atrisina jar bibliotēku atkarības.

Pārskats.

Maven automātiski lejupielādē burkas no interneta, bet es vēlos paskaidrot, kā tieši tas notiek.

Šī raksta priekšnoteikums ir tāds, ka jums ir jāsaprot, kas ir Maven, tāpēc, ja neesat iepazinušies ar pašu Maven, jums būtu jāizlasa arī šis raksts.

Kas ir Maven un ko Maven dara?

Satura rādītājs

  1. Maven spēja atrisināt jar bibliotēku atkarības.
  2. kopsavilkums

1. Maven spēja atrisināt jar bibliotēku atkarības.

Maven var automātiski iegūt jar failus, vienkārši definējot nepieciešamos jar failus pom.xml failā. Tā arī automātiski iemācās atkarīgās burkas, kas nepieciešamas, lai palaistu šo burku. Vēlos paskaidrot, kā tas darbojas.

1-1. Kas jāiekļauj pom.xml failā.

Pirmkārt, lai atrisinātu jar bibliotēkas atkarību, informācija tiek sniegta pom.xml failā. Maven apstrādā informāciju no pom.xml faila. Ja ir nepieciešams, piemēram, "poi-3.17.jar", tas ir aprakstīts pom.xml šādi. (Starp citu, 'poi-3.17.jar' ir burka, ko izmanto Microsoft Office failu, piemēram, Excel, manipulēšanai.)

pom.xml


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

Vienkārši minot iepriekš minēto, no interneta tiks lejupielādēts "poi-3.17.jar" un no interneta tiks lejupielādēts arī pievienotais jar, kas ir nepieciešams, lai palaistu "poi-3.17.jar".

1-2. Kā tie tiek lejupielādēti no interneta?

Vienkāršs sistēmas skaidrojums ir parādīts diagrammā zemāk.

Lejupielādēt no internetā pieejamajiem Maven repozitorijiem. Ja nav iestatīts nekas, noklusējuma vērtība ir Centrālā krātuve. URL ir šāds.

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

Ja jums ir interese, internetā pieejamo repozitoriju sarakstu skatiet šajā tīmekļa vietnē.

https://mvnrepository.com/repos

Pirmajā reizē burka tiek ielādēta no ārējā repozitorija, bet, sākot ar otro reizi, tā tiek kopēta vietējā repozitorijā un netiek ielādēta. Vietējā repozitorija atrašanās vieta ir "C:\Users\user\.m2".

Ja vēlaties mainīt galamērķi no noklusējuma vērtības, varat mainīt arī galamērķi, pom.xml iekļaujot šādu repozitorija tagu.

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. Iegūstamās burkas atkarību risināšanas mehānismi.

Mēs tikko aprakstījām piemēru, kā iegūt 'poi-3.17.jar', bet, lai palaistu 'poi-3.17.jar', ir nepieciešams 'commons-collections4-4.1.jar'. Tas nozīmē, ka 'poi-3.17.jar' ir atkarīgs no 'commons-collections4-4.1.jar'. Šīs atkarības atrisināšanas mehānismu var atrast Maven repozitorijā, kur ir saglabāta 'poi-3.17.jar'. URL ir šāds.

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

Es domāju, ka ir saglabāts "poi-3.17.17.pom", un šajā failā jūs atradīsiet informāciju, ka "poi-3.17.jar" ir atkarīgs no "commons-collections4-4.1.jar". Tas nozīmē, ka, iegūstot 'poi-3.17.jar', sistēma iegūst ne tikai jar failu, bet arī pom failu un pārbauda citus nepieciešamos jar failus.

2. kopsavilkums

Maven mehānisms burciņu bibliotēku atkarību atrisināšanai ir tāds, ka atkarības tiek definētas pom failā, kurā tiek glabāti iegūstamie burciņu faili.

Paldies, ka noskatījāties līdz beigām.