2012-02-03 6 views
51

Attualmente si specifica la posizione del repository locale in settings.xml. È possibile sovrascrivere questa impostazione tramite la riga di comando o la variabile env, in modo tale che a volte posso utilizzare una posizione alternativa?maven: È possibile sovrascrivere la posizione del repository locale tramite l'utilizzo dell'opzione della riga di comando o della variabile env?

+2

Possibile duplicato di [Specificare il percorso del repository locale di Maven come parametro CLI] (http://stackoverflow.com/questions/6823462/specifying-mavens-local-repository-location-as-a-cli-parameter) –

risposta

97

Si avrebbe bisogno di specificare il parametro maven.repo.local per fare questo.

mvn package -Dmaven.repo.local=/alternate/repo/location 

Here è una domanda SO correlata.

+0

Il repository locale deve essere un percorso assoluto, https://maven.apache.org/guides/mini/guide-configuring-maven.html. – luka5z

12

Utilizzare l'impostazione LocalRepository nel file settings.xml. Esempio:

<settings> 
    <localRepository>/repo</localRepository> 
    ... 
</settings> 

Vedere here per ulteriori informazioni.

È anche possibile impostare il repository tramite la riga di comando utilizzando "-Dmaven.repo.local =" come ad esempio:

mvn -U clean install -Dmaven.repo.local=C:\tmp 
+1

Noi l'ho già fatto nel nostro settings.xml. Voglio sovrascriverlo quando invoco Maven in una shell –

+0

Se Maven sta usando that settings.xml, anche quando lo invochi da una shell, dovrebbe raccogliere quell'impostazione. È molto comune per gli utenti di Windows aver bisogno di impostare quello a causa di spazi nella loro home directory "c: \ documents and settings \ blah" – Michael

+0

Ho appena eseguito un test usando "\t /Users/michael/Desktop/repository "nel mio file settings.xml. E ora, quando costruisco qualcosa da command line (o ide), metto lì gli artefatti. – Michael