2013-05-16 2 views
16

Wie ändere ich global den Speicherort von Maven .m2 Verzeichnis?Maven - Alternative .m2 Verzeichnis

Maven verwendet ${user.home}/.m2 für seine Einstellungen, Repository-Cache usw.

Ich weiß, dass ich kann:

  • Punkt zu einem anderen Verzeichnis für den Repository-Cache (durch das localRepository Attribut in meinem globalen Veränderung Konfigurationsdatei), aber nicht für irgendetwas anderes (settings.xml, zum Beispiel).
  • Verwenden Sie die -s CLI-Option, aber ich müsste das jedes Mal tun, wenn ich maven benutze.

Aber idealerweise hätte ich gerne eine globale Lösung. Intuitiv sollte das möglich sein ..

Ich möchte dies tun, weil meine Firma meine $ {user.home} auf ein freigegebenes Laufwerk setzt, das anfällig für Netzwerkprobleme ist.

Antwort

12

Die beste Option besteht darin, die Datei .m2 in Ihrem user.home als Symlink zu erstellen, bevor Maven auf einen lokalen Ordner auf Ihrem Computer verweist.

Andernfalls könnten Sie einen Shell-Alias ​​für den MVN mit dem Namen mymvn (oder m3 oder was auch immer) erstellen, der sowohl die -s als auch den lokalen Repo-Speicherort übergibt.

+0

Ja, ich denke, das ist die beste Alternative. Unf Ich kann keinen Symlink erstellen (Windows :(), aber der Alias ​​(in Form einer Batch-Datei) funktioniert vorerst. –

+0

[Einfache, einfache Methode zum Erstellen symbolischer Links unter Windows] (https: // superuser.com/questions/197273/straightforward-easy-way-to-create-symbolic-links-on-windows) – Vadzim

29

Verwenden Sie die Umgebungsvariable MAVEN_OPTS, um den Speicherort Ihres Repositorys festzulegen. Stellen Sie es in Ihrem Shell-Start ein, und Sie müssen es nicht jedes Mal auf die Befehlszeile setzen.

export MAVEN_OPTS="-Dmaven.repo.local=/path/to/repository" 

Nachtrag. Es tut mir Leid. Sie haben gesagt, dass Sie sowohl die .m2-Einstellungen als auch das Repository ändern möchten. Sie möchten die Umgebungsvariable M2_HOME festlegen. Diese documentation sagt, dass steuert, wo Maven nach settings.xml sucht. Von dort aus können Sie den Speicherort des Repositorys usw. steuern.

+0

dank bearbeiten dbrown, aber M2_HOME ist, wo Maven für das Maven sieht installieren und so die globalen Einstellungen. –

-1

Sie benötigen eine settings.xml zu finden, dann <localRepository>/path/to/local/repo</localRepository>

+0

Bitte beachten Sie den ersten Aufzählungspunkt der Frage –

Verwandte Themen