當你建立一個 Maven 的項目,Maven 會檢查你的 pom.xml 文件,以確定哪些依賴下載。首先,Maven 將從本地資源庫獲得 Maven 的本地資源庫依賴資源,如果沒有找到,然后把它會從默認的 Maven 中央存儲庫 – http://repo1.maven.org/maven2/ 查找下載。
Maven 的中央資源庫網站是這樣的:
Maven中心儲存庫網站已經改版本,目錄瀏覽可能不再使用。這將直接被重定向到 http://search.maven.org/。這就好多了,現在有一個搜索功能:
根據 Apache Maven 的說明:
Downloading in Maven is triggered by a project declaring a dependency that is not present in the local repository (or for a SNAPSHOT, when the remote repository contains one that is newer). By default, Maven will download from the central repository.
在Maven中,當你聲明的庫不存在於本地存儲庫中,也沒有不存在於Maven中心儲存庫,該過程將停止並將錯誤消息輸出到 Maven 控制台。
1. 示例
org.jvnet.localizer 只適用於 Java.net資源庫
<dependency> <groupId>org.jvnet.localizer</groupId> <artifactId>localizer</artifactId> <version>1.8</version> </dependency>
當你建立這個 Maven 項目,它將依賴找不到失敗並輸出錯誤消息。
2. 聲明Java.net儲存庫
告訴 Maven 來獲得 Java.net 的依賴,你需要聲明遠程倉庫在 pom.xml 文件這樣:
<repositories> <repository> <id>java.net</id> <url>https://maven.java.net/content/repositories/public/</url> </repository> </repositories>
現在,Maven的依賴庫查詢順序更改為:
- 在 Maven 本地資源庫中搜索,如果沒有找到,進入第 2 步,否則退出。
- 在 Maven 中央存儲庫搜索,如果沒有找到,進入第 3 步,否則退出。
- 在java.net Maven的遠程存儲庫搜索,如果沒有找到,提示錯誤信息,否則退出