2012-12-02 116 views
0

我讀here「你添加的版本庫越多,版本越慢」。真的嗎 ?maven版本庫

我認爲,如果在.m2文件夾中有可用的工件版本,那麼庫甚至不會被查詢,如果它不可用,那麼maven將循環遍歷它們直到找到正確的神器,並且不會再看。所以在任何情況下,它都不會消耗額外的帶寬。

+0

答案真的很重要嗎?當然,你只需要添加你需要的庫,而不是更多? –

回答

1

this question所示,在某些情況下Maven會在遠程存儲庫中搜索依賴項,即使它已經在本地存儲庫中可用。這發生在SNAPSHOT依賴或缺少pom.xml的依賴項上。所以我只能假設博客文章可能意味着如果您的構建屬於這些類別中的任何一個,Maven將掃描您在每個構建中定義的遠程存儲庫(實際上,對於SNAPSHOTS,您可以通過啓用/禁用來限制存儲庫根據需要從每個存儲庫快照)。如果它無法找到它正在查找的內容,它當然必須在放棄之前掃描所有存儲庫,這意味着存儲庫越多,掃描所需的時間就越多(並且在SNAPSHOTS的情況下,它將掃描所有無論如何,因爲事件存儲庫,如果它發現一個存儲庫中的更新版本,它不能「知道」另一個存儲庫不會持有更新的版本)。即使在Maven實際找到它所尋找的依賴關係並停止搜索的情況下,可能發現依賴關係的存儲庫是最後一個被掃描的存儲庫,因此所有其他存儲庫都在其之前被掃描。

1

當你建立你的項目時,它會去m2庫檢查罐子是否已經存在,如果沒有,它會從中央倉庫下載罐子。因此,如果一旦下載了罐子,建立該項目時就不需要時間。