Miten Maven ratkaisee automaattisesti JAR-kirjastojen riippuvuudet.
Julkaistu:
Päivitetty:
Artikkelit › Miten Maven ratkaisee automaattisesti JAR-kirjastojen riippuvuudet.
Tilanne vuonna 2026 ja turvallinen käyttö
Johtopäätös: Maven ei etsi JAR-tiedostoja pelkän tiedostonimen perusteella. Se ratkaisee määritetyt koordinaatit, lataa artefaktin POM-tiedoston, seuraa siinä kuvattuja riippuvuuksia, soveltaa scope- ja optional-sääntöjä ja valitsee version, jos eri riippuvuuspolut pyytävät eri versioita.
Mitä opit
- Miten paikallinen ja keskitetty repositorio sekä peili- ja yksityiset repositoriot osallistuvat ratkaisuun.
- Miksi riippuvuuden POM, ei itse JAR, kuvaa useimmat transitiiviset riippuvuudet.
- Miten todellinen riippuvuusgraafi tarkistetaan ennen version ohittamista.
Kenelle artikkeli on tarkoitettu: Maven-käyttäjät, jotka haluavat ymmärtää, mistä ladatut artefaktit tulevat ja miksi ylimääräisiä kirjastoja ilmestyy.
Tilanne vuonna 2026: Alla olevat vanhemmat Apache POI -koordinaatit ovat historiallinen esimerkki, eivät versiosuositus. Käytä tuettuja riippuvuuksia ja luotettavia HTTPS-repositorioita, tarkista tarkistussumma tai allekirjoitus, jos se on saatavilla, ja noudata riippuvuuksien päivityskäytäntöä.
Turvallisuushuomautus: Alkuperäisen artikkelin komentoja ja määritysesimerkkejä ei ole suoritettu uudelleen nykyaikaisessa tuotantoympäristössä. Tarkista tuetut versiot, ota varmuuskopio ja valmistele palautus erillisessä testiympäristössä ennen käyttöönottoa.
Viralliset lähteet
Yleiskatsaus
Maven lataa JAR-tiedostot automaattisesti internetistä, mutta seuraavassa selitetään tarkalleen, miten se toimii.
Tämän artikkelin lähtökohtana on, että sinun on ymmärrettävä, mikä Maven on, joten jos et tunne itse Mavenia, tutustu myös seuraavaan artikkeliin.
Mikä on Maven ja mitä Maven tekee?
Sisällysluettelo
1. Mavenin kyky ratkaista JAR-kirjastojen riippuvuudet.
Maven voi hakea JAR-tiedostot automaattisesti määrittämällä tarvittavat JAR-tiedostot pom.xml-tiedostossa. Se oppii myös automaattisesti transitiiviset riippuvuudet, joita tarvitaan kyseisen JAR-tiedoston käyttämiseen. Seuraavassa selitetään, miten se toimii.
1-1. Mitä pom.xml-tiedostoon sisällytetään.
Ensiksi JAR-kirjaston riippuvuuden selvittämiseksi pom.xml-tiedostossa annetaan tietoa. Maven käsittelee pom.xml-tiedoston tietoja. Jos esimerkiksi "poi-3.17.jar" tarvitaan, se kuvataan pom.xml-tiedostossa seuraavasti. (Poi-3.17.jar on muuten JAR-tiedosto, jota käytetään Microsoft Office -tiedostojen, kuten Excelin, käsittelyyn).
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
Pelkkä maininta edellä mainitusta lataa "poi-3.17.jar" Internetistä ja lataa myös mukana tulevan JAR-tiedoston Internetistä, jota tarvitaan "poi-3.17.jar" suorittamiseen.
1-2. Miten ne ladataan internetistä?
Järjestelmän yksinkertainen selitys on esitetty alla olevassa kaaviossa.
Lataa Internetissä saatavilla olevista Maven-arkistoista. Jos mitään ei ole asetettu, oletusarvo on Maven Central. URL-osoite on seuraava.
https://repo1.maven.org/maven2/
Seuraavalla verkkosivustolla on luettelo internetissä saatavilla olevista arkistoista, jos olet kiinnostunut.
https://mvnrepository.com/repos
Ensimmäisellä kerralla JAR-tiedosto haetaan ulkoisesta arkistosta, mutta se kopioidaan paikalliseen arkistoon eikä sitä haeta enää toisella kerralla. Paikallisen arkiston sijainti on "C:\Users\user\.m2".
Jos haluat muuttaa määränpään oletusarvosta, voit muuttaa määränpäätä myös lisäämällä seuraavan repository-tagin pom.xml-tiedostoon.
<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. Mekanismit ladattavan JAR-tiedoston riippuvuuksien ratkaisemiseksi.
Kuvasimme juuri esimerkin 'poi-3.17.jar'n hankkimisesta, mutta 'poi-3.17.jar' vaatii 'commons-collections4-4.1.jar'n' toimiakseen. Tämä tarkoittaa, että 'poi-3.17.jar' riippuu 'commons-collections4-4.1.jar'sta. Mekanismi tämän riippuvuuden ratkaisemiseksi löytyy Maven-arkistosta, johon 'poi-3.17.jar' on tallennettu. URL-osoite on seuraava.
https://repo1.maven.org/maven2/org/apache/poi/poi/3.17/
Luulen, että "poi-3.17.pom" on tallennettu, ja tässä tiedostossa on tietoa siitä, että "poi-3.17.jar" riippuu "commons-collections4-4.1.jar". Tämä tarkoittaa, että kun haetaan 'poi-3.17.jar', järjestelmä hakee JAR-tiedoston lisäksi myös pom-tiedoston ja tarkistaa muut tarvittavat JAR-tiedostot.
2. yhteenveto
Mavenin mekanismi JAR-kirjastojen riippuvuuksien ratkaisemiseksi on se, että riippuvuudet määritellään pom-tiedostossa, johon haettavat JAR-tiedostot on tallennettu.
Tässä ovat tärkeimmät huomioitavat vaiheet ja rajoitukset.
■Artikkelit
■Profiili
■Yhteystiedot
