2012-01-16 149 views
6

我有多個項目。我想爲每個項目創建不同的Maven存儲庫路徑。意思是,每個項目應該指向不同的文件夾作爲Maven倉庫(默認C:/Users/USERNAME/.m2用作倉庫)。 我知道這可能會增加下載和相同的文件,如果在多個項目中使用將被下載/保存多次。但是我想爲不同的項目分開存儲庫,以便我可以將存儲庫與我的項目的源代碼捆綁在一起,以便與其他人共享。我只是不想分享我的整個m2存儲庫(大小2 GB)爲一個非常小的項目大小爲50 MB。設置項目特定的Maven倉庫

問候,

Vibhav

回答

2

謝謝大家的意見。

我終於沒了下文: - 設置每個項目在日食 一個獨立的工作區 - 創建一個單獨的Apache Maven的文件夾的每個項目(實際上是重複即使我使用的Maven的相同版本的行家家) - 從eclipse工作區中,我指出了適當的maven home - 將MAVEN_HOME/conf/settings.xml文件中的存儲庫路徑(localRepository)從默認的〜。/ m2/repository配置爲類似MAVEN_HOME/repo

這樣,我可以爲每個項目分別獲取maven倉庫(或者我應該說工作區)。

感謝, Vibhav阿格拉瓦爾

1

您可以通過命令行選項來指定庫位置-Dmaven.repo.local=

我不得不只是把一個包裝腳本來啓動該項目的位置Maven和指定的存儲庫中它(可能指向您的用例的項目內的位置)。

0

請參見下面的回答:

Prevent Jenkins from Installing Artifact to Local Maven Repository

一言以蔽之使用設置文件爲每個製作。使您能夠控制用於該項目的本地存儲庫,還可以控制其他設置(如存儲庫和構建配置文件)。

+0

這是否解決了Eclipse的不可編輯M2_HOME CLASSPATH變量? – 2012-12-07 01:25:35

+0

@JoeCoder無關我想。無論您的Maven安裝位於何處,Eclipse中的M2_HOME都是有效的。 「首選項 - > Maven->安裝」。您的全局設置文件在「首選項 - > Maven->用戶設置」下類似指定。在設置文件中,您可以決定(使用localRepository標記)Maven將存儲其下載文件的位置。所以從我的角度來看,M2_HOME並不重要。 – 2012-12-07 08:53:03

+0

我同意這通常是真的,但我有多個maven倉庫和'mvn eclipse:eclipse'總是使用M2_HOME變量生成一個.classpath。如果該變量在Project級別上不可修改,則無法手動編輯.classpath,我無法同時在同一個Workspace中使用不同的Repos編譯兩個項目。 – 2012-12-07 09:08:05