2013-01-31 54 views
6

有什麼辦法可以避免開發人員下載所有的依賴關係,並將這些依賴關係定位到共享位置,以便所有開發人員和每個開發項目的開發人員指向該位置?跨開發人員的共享Maven存儲庫

任何人都可以用示例文件和示例來解釋嗎?

+0

您可以使用'-Dmaven.repo.local'參數或在'settings.xml'中添加' ...'來指定本地存儲庫。然而正如其他評論指出的那樣,這個位置不是併發安全的,應該避免*。 – luka5z

回答

2

您可以更改本地資源庫是這樣的:

The location of your local repository can be changed in your user configuration. The default value is ${user.home}/.m2/repository/. 

<settings> 
    ... 
    <localRepository>/path/to/local/repo/</localRepository> 
    ... 
</settings> 

look this article

我想,如果你讓共享文件夾和所有其他開發人員編寫的路徑此文件夾這樣可以幫助(但我沒有。試試這個)

UPDATE

使用共享回購是個壞主意。在兩個或多個用戶之間共享本地存儲庫不是線程安全的,可能會導致不同的錯誤。
因此,儘可能多的人在這裏提到使用Artifactory

+2

本地存儲庫緩存並不安全。如果兩個開發人員共享同一個開發人員,他們最終會遭到腐敗。 –

+0

問題是「這是任何方式」,我的回答是某種方式,他可以做到這一點。但爲什麼你給我減。我說沒有這樣做。 –

+2

你應該指出*爲什麼*這是一個壞主意。當你告訴某人如何在室內安放槍支和槍彈時,你應該警告他們腳上的危險! –

9

最好的辦法是與maven的倉庫經理之一。設置的主要步驟如下: - 在內部機器上安裝中央存儲庫 - 配置中央存儲庫以代理開發人員需要的存儲庫 - 修改開發人員的maven設置以使用內部maven存儲庫作爲鏡像一切(見here瞭解詳細信息)

有3個著名的倉庫管理人員提供:

我最喜歡的Artifactory的 - 安裝和配置了不到一個小時。現在,如果開發人員向Maven項目添加新的依賴項,工件將從原始遠程存儲庫下載到內部存儲庫,並且將可用。當下一個開發人員需要歸檔時,將從內部存儲庫下載 - 訪問速度會更快。

0

我明白你想要什麼,但我相信你這不是一個好主意。因爲稍後會在開發人員立即開始在同一個項目上工作時發生conflit

0

Maven正在解析和更新依賴項。你總是在某個地方有一個本地的回購實例。您可以在.m2文件夾的settings.xml中配置本地存儲庫和其他配置文件。

例如本地回購看起來像

<localRepository>C:/dev/.m2/repository</localRepository>

它可能也解決共享文件系統。 您也可以在文件共享添加內部存儲庫爲自己的行家文物爲

<repository> 
    <id>internal.releases.upload</id> 
    <name>Internal repo</name> 
     <url>file:////data/repo</url> 
</repository> 

例如。在這裏閱讀有關存儲庫的更多信息http://maven.apache.org/guides/introduction/introduction-to-repositories.html