2013-05-16 60 views
16

如何全局更改maven的.m2目錄的位置?Maven - 替代.m2目錄

Maven使用${user.home}/.m2它的設置,庫緩存等

我知道我可以:

  • 指向一個不同的目錄存儲庫高速緩存(在我的世界改變了localRepository屬性配置文件),但不適用於其他任何內容(例如,settings.xml)。
  • 使用-s CLI選項,但我必須在每次使用maven時都這樣做。

但理想情況下,我想要一個全球性的解決方案。直覺這應該是可能的..

我想這樣做,因爲我的公司將我的$ {user.home}設置爲共享驅動器,這是容易出現網絡問題。

回答

12

最好的選擇是在使用Maven指向您計算機上的本地文件夾之前,在您的user.home中創建.m2作爲符號鏈接。

否則,您可以爲mvn創建一個名爲mymvn(或m3或其他)的shell別名,它通過-s以及本地回購庫位置。

+0

是的,我認爲這是最好的選擇。 Unf我無法創建符號鏈接(windows :(),但別名(以批處理文件的形式)暫時可用。 –

+0

[在Windows上創建符號鏈接的簡單方法](https:// superuser.com/questions/197273/straightforward-easy-way-to-create-symbolic-links-on-windows) – Vadzim

29

使用MAVEN_OPTS環境變量來設置存儲庫的位置。將它設置在你的shell啓動中,並且你不必每次都將它放在命令行上。

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

附錄。對不起。你說你想更改.m2的設置以及存儲庫。你想設置M2_HOME環境變量。這個documentation表示控制maven在哪裏尋找settings.xml。從那裏,您可以控制存儲庫的位置等。

+0

感謝dbrown,但M2_HOME就是行家查找maven的安裝,所以全局設置。 –

-1

你需要找到你的settings.xml文件,然後編輯<localRepository>/path/to/local/repo</localRepository>

+0

請參閱問題的第一個要點 –