Domanda

Ho appena scaricato il plugin Eclipse m2e e lo adoro!Mi chiedo quale servizio Web utilizza per risolvere tutte le dipendenze transitive di un progetto.

i assumere che funziona ansuando tutti gli elementi <dependency> fuori dal progetto pom.xml e utilizza un servizio per interrogare MAVEN per ogni dipendenza transitiva.

Fondamentalmente, sto chiedendo: In che modo m2e popola la cache MAVEN locale memorizzata su ~/.m2?

È stato utile?

Soluzione

Il plugin funziona uguale a maven riga di comando Progam mvn.

Supponendo il file delle impostazioni del POM e Maven del tuo progetto non modifica le impostazioni del repository predefinite Maven scaricheranno i file da Maven Central

http://repo1.maven.org/maven2/

Quindi prendere una dipendenza come segue:

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.16</version>
</dependency>
.

MAVEN utilizzerà la seguente convenzione URL (layout del repository Maven2):

<Repository URL>/<groupId>/<artifactId>/<version>/<artifactId>-<version>.<packaging>
.

Per scaricare 2 file:

    .
  1. http://repo1.maven. org / maven2 / log4j / log4j / 1.2.16 / log4j-1.2.16.pom
  2. http://repo1.maven. org / maven2 / log4j / log4j / 1.2.16 / log4j-1.2.16.jar

    Il primo è il modulo Pom, il cui elemento Packaging indicherà l'estensione del nome del file da utilizzare quando si scarica il secondo file (impostazioni predefinite su "JAR").

    Alla fine Maven leggerà ricorsiva ricorsivamente i file POM associati ad altre dipendenze elencate nel POM e decidono quali altri moduli da scaricare (dipendenze delle dipendenze)

Altri suggerimenti

eseguendo il normale processo di risoluzione della dipendenza di Maven;Per ogni dipendenza risolve ricorsivamente le dipendenze transitive.Il "servizio" è solo una query delle Poms delle dipendenze da qualsiasi repository di Maven configurata.

Non sono sicuro di come m2e lo faccia specificamente, ma puoi fare lo stesso sulla riga di comando utilizzando mvn dependency:tree.Quel comando supporta vari formati di output: testo, punto, graphml, TGF.Vedi Maven dipendenza plugin docs .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top