Come Maven risolve automaticamente le dipendenze delle librerie jar.


Data di pubblicazione:17 gennaio 2021.



INFOMARTION > Come Maven risolve automaticamente le dipendenze delle librerie jar.

Panoramica.

Maven scarica automaticamente i jar da Internet, ma vorrei spiegare esattamente come funziona.

La premessa di questo articolo è che dovete capire cos'è Maven, quindi se non avete familiarità con Maven stesso, dovreste fare riferimento anche al seguente articolo.

Cos'è Maven e cosa fa Maven?

Indice dei contenuti

  1. Capacità di Maven di risolvere le dipendenze delle librerie jar.
  2. sintesi

1. Capacità di Maven di risolvere le dipendenze delle librerie jar.

Maven può recuperare automaticamente i file jar semplicemente definendo i file jar richiesti nel file pom.xml. Inoltre, apprende automaticamente i jar dipendenti necessari per l'esecuzione di quel jar. Vorrei spiegare come funziona.

1-1. Cosa includere nel file pom.xml.

Innanzitutto, per risolvere la dipendenza della libreria jar, le informazioni sono fornite nel file pom.xml. Maven elabora le informazioni contenute nel file pom.xml. Se è richiesto "poi-3.17.jar", ad esempio, è descritto in pom.xml come segue. (Per inciso, 'poi-3.17.jar' è un jar utilizzato per manipolare i file di Microsoft Office, come Excel.)

pom.xml


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

Semplicemente menzionando quanto sopra si scaricherà "poi-3.17.jar" da Internet e si scaricherà anche il jar di accompagnamento da Internet, necessario per eseguire "poi-3.17.jar".

1-2. Come vengono scaricati da Internet?

Una semplice spiegazione del sistema è illustrata nel diagramma seguente.

Scaricare dai repository Maven disponibili su Internet. Se non è stato impostato nulla, il valore predefinito è Repository centrale. L'URL è il seguente.

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

Se siete interessati, consultate il seguente sito web per un elenco di depositi disponibili su Internet.

https://mvnrepository.com/repos

La prima volta, il jar viene prelevato da un repository esterno, ma viene copiato nel repository locale e non viene prelevato dalla seconda volta in poi. Il percorso del repository locale è "C:\Users\user\.m2".

Se si desidera modificare la destinazione rispetto al valore predefinito, è possibile farlo anche includendo il seguente tag repository in 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. Meccanismi di risoluzione delle dipendenze del vaso da acquisire.

Abbiamo appena descritto un esempio di ottenimento di 'poi-3.17.jar', ma 'poi-3.17.jar' richiede 'commons-collections4-4.1.jar' per funzionare. Ciò significa che 'poi-3.17.jar' dipende da 'commons-collections4-4.1.jar'. Il meccanismo per risolvere questa dipendenza si trova nel repository Maven in cui è memorizzato 'poi-3.17.jar'. L'URL è il seguente.

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

Credo che sia stato memorizzato "poi-3.17.pom" e in questo file si trova l'informazione che "poi-3.17.jar" dipende da "commons-collections4-4.1.jar". Ciò significa che quando si recupera 'poi-3.17.jar', il sistema non recupera solo il file jar, ma anche il file pom e controlla la presenza di altri file jar necessari.

2. sintesi

Il meccanismo di Maven per risolvere le dipendenze dalle librerie jar prevede che le dipendenze siano definite nel file pom in cui sono memorizzati i file jar da recuperare.

Grazie per aver guardato fino alla fine.




■INFORMATION

Fare clic qui per accedere alla pagina superiore di INFORMAZIONI.


■PROFILE

Cliccare qui per un profilo.


■Dettagli di contatto.

Per richieste di informazioni sull'articolo, contattateci qui.