Maven: comando per aggiornare il repository dopo aver aggiunto dipendenza a POM


256

Ho aggiunto una nuova dipendenza al mio POM.

Esiste un semplice comando che posso eseguire per scaricare questa dipendenza nel mio repository?


Per coloro che cercano come farlo in un progetto Spring Boot: usare mvnwper chiamare il layer wrapper. I comandi in questa pagina funzionano con esso.
G_V

Risposte:


178

mvn install(o mvn package) funzionerà sempre.

È possibile utilizzare mvn compileper scaricare le dipendenze del tempo di compilazione o mvn testper il tempo di compilazione e testare le dipendenze, ma preferisco qualcosa che funzioni sempre.


2
Grazie, ho anche scoperto che aggiungendolo al pom in STS lo scaricherai automaticamente per te.
JJ180,

15
La risposta di @Andrew Spencer è più accurata: gestisci mvn dependency:xxxsolo le dipendenze e non fare nulla di aggiuntivo - e questo è il problema.
botchniaque,

A volte, il 'pacchetto mvn' potrebbe non aggiornare le dipendenze. Mi è successo più di una volta. In questi casi è necessario eseguire "mvn dependency: resolve"
Binita Bharati,

1
@BinitaBharati, è possibile aggiungere un -U alla riga di comando di Maven per forzare i download delle dipendenze. Ciò è utile se Maven non scarica una dipendenza aggiornata a causa di un timeout della cache.
BamaPookie,

1
@Kishan Fai una nuova domanda. Mostra il layout del tuo progetto (specialmente dove importsuccede) e se usi una build multi-modulo.
Aaron Digulla,

611

Se vuoi scaricare solo dipendenze senza fare altro, allora è:

mvn dependency:resolve

O per scaricare una singola dipendenza:

mvn dependency:get -Dartifact=groupId:artifactId:version

Se devi scaricare da un repository specifico, puoi specificarlo con -DrepoUrl=...


2
Ottengo questo errore quando eseguo quel comando: [ERRORE] Impossibile eseguire l'obiettivo org.apache.maven.plugins: maven-dependency-plugin: 2.1: get (default-cli) sul progetto standalone-pom: i parametri 'repositoryUrl' per obiettivo org.apache.maven.plugins: maven-dependency-plugin: 2.1: get sono mancanti o non validi -> [Guida 1]. Specificare -DrepositoryUrl = ... non funziona.
Chry Cheng,

1
Penso di aver trovato la soluzione. Il parametro dovrebbe essere "repoUrl" e non "repositoryUrl".
Chry Cheng,

Non risolve il problema per me: lo eseguo mvn package -osubito dopo - Ottengo l'errore che i plug-in non possono essere scaricati. Anche la corsa mvn dependency:resolve-pluginsnon risolve completamente il problema.
Innokenty,

Gli URL del repository potrebbero essere mancanti / errati. In ogni caso, non credo che questa risposta sia la risposta al problema che stai riscontrando. Questa risposta copre il caso in cui Maven può trovare tutti gli artefatti di cui ha bisogno nei repository configurati.
Andrew Spencer,

Non mi importa se sei un credente o no, un cristiano o no ... Dio ti benedica con questa semplice, fantastica risposta.
Salathiel Genèse,

12

So che è una vecchia domanda ora, ma per gli utenti che utilizzano Mavenplugin con Eclipse under Windows, hai due opzioni:

  1. Se hai installato Maven come applicazione autonoma:

    È possibile utilizzare il comando seguente nel CMDpercorso del progetto:

    mvn eclipse:eclipse

    Aggiornerà il tuo repository con tutti i barattoli mancanti, in base alle tue dipendenze nel tuo pom.xmlfile.

  2. Se Maven non è installato come applicazione autonoma, puoi seguire questi passaggi sulla tua eclissi:

    Fare clic con il tasto destro su project-> Run As-> Run configurations.

    Quindi selezionare mavenBuild.

    Quindi fare clic sul newpulsante per creare una configurazione del tipo selezionato. Fare clic su Sfoglia area di lavoro, quindi selezionare il progetto e specificare gli obiettivieclipse:eclipse

Puoi fare riferimento a come eseguire il comando mvn eclipse: eclipse per ulteriori dettagli.


3
Esecuzione di eclissi: eclissi dopo dipendenza: la risoluzione mi ha aiutato a vedere i barattoli scaricati in eclissi, grazie!
Anatoly Yakimchuk,

2
Mentre questa risposta aiuterà la povera gente bloccata con Eclipse, consiglio vivamente a chiunque usi Eclipse di trovare un'alternativa migliore. Soprattutto se stai per usare Maven. Netbeans e IntelliJ sono in anticipo di anni luce.
64BitBob,

@ 64BitBob Partendo dal presupposto che Netbeans e IntelliJ sono meglio dell'eclissi, dovremmo sempre dare una soluzione per coloro che lo usano. :)
ckŝdk,

Vedo che il plugin non è più disponibile sul mercato, ma sì, funziona in Eclipse 2020 senza scaricare nulla. Mi chiedo se mvn eclipse: eclipse è il comando inviato da eclipse stesso quando facciamo clic con il pulsante destro del mouse-> Maven-> Aggiorna progetto ...
Paolo

@Paolo Secondo me hanno aggiunto automaticamente il plugin nelle nuove versioni di Eclipse, e sì penso che sia lo stesso comando dietro l'opzione "Aggiorna progetto".
sabato

1

Presta attenzione al tuo ambito di dipendenza. Stavo riscontrando il problema quando invocando la compilazione pulita tramite Intellij, il pom veniva scaricato, ma il vaso no. È stato creato un file xxx.jar.lastUpdated. Quindi ho capito che l'ambito delle dipendenze era test, ma stavo innescando la compilazione. Ho eliminato i repository e attivato il test mvn e il problema è stato risolto.


-4

Fare clic con il tasto destro sul progetto. Vai a Maven -> Aggiorna progetto.

Le dipendenze verranno installate automaticamente.


Ecco come farlo in Eclipse.
user1364368

a volte, ed è alla fine, non lontano funziona, alcuni comandi come pacchetto mvn, installazione, dipendenza: la risoluzione può risolvere il tuo problema
Sham Fiorin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.