2013-03-27 78 views
1

我是Maven的新手,雖然我對Ant很有經驗。我試圖瞭解下載依賴關係的過程。比方說,我已經定義了兩個庫:Maven依賴關係映射到存儲庫

而且一個依賴:

  • 依賴
    • 的groupId:org.mystuff
    • 的artifactId:的MyStuff核心

我的問題:

  1. 我認爲依賴的的groupId必須找到作爲回購URL之一的子路徑,例如,http://repo-one.com/repos/org/mystuff。是對的嗎?

  2. 如果是這樣,那麼artifactId將作爲附加子路徑查找,例如http://repo-one.com/repos/org/mystuff/mystuff-core。是對的嗎?

  3. 如果對上述兩者都是,那麼如果同時存在http://repo-one.com/repos/org/mystuff/mystuff-corehttp://repo-two.com/repos/org/mystuff/mystuff-core?第一個存儲庫列出了勝利嗎?

  4. 如果我完全偏離軌道,那麼尋找存儲庫依賴關係的過程是什麼?

正如您可以告訴我,我正在查看現有的POM並試圖瞭解它是如何工作的。我已閱讀了Maven網站上的文檔,但到目前爲止,我沒有看到任何明確說明依賴關係如何映射到存儲庫的內容。第一季度銷售價格:

回答

2

Q1。和Q2。你是對的。

更精確地,在默認情況下(即,如果存儲庫佈局沒有重新定義爲非標準佈局):工件將在<REPO_URL>/${groupId_with_dot_replaced_by_subdir}/${artifactId}/${version}/${artifactId}-${version}.${extension}

Q3找到。是的,包含工件的第一個存儲庫獲勝。請注意,

  • 如果工件不是SNAPSHOT並且已在您的本地存儲庫中,它將不會再次下載。
  • 如果工件是SNAPSHOT並且在本地存儲庫中的時間超過刷新策略指定的時間:它將再次下載。

Q4。 Here is a link來博客文章解釋maven資源庫佈局

+0

謝謝!正是我想要的。 – dnuttle 2013-03-27 15:27:58