2017-04-11 43 views
0

我想了解的Maven下載從庫的二進制文件。指定用於獲取依賴項的Maven倉庫URL?

例如,我有以下的依賴性爲我的項目:

<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-hdfs</artifactId> 
    <version>2.7.1</version> 
</dependency> 

現在,這些二進制文件存在於http://mvnrepository.com/

在pom.xml中,我們有<repositories>標籤,我們指定從那裏Maven可以下載文件的存儲庫URL,模板:

<repositories> 
    <repository> 
     <id>mvnrepository_id</id> 
     <name>mvnrepository.com</name> 
     <url></url> 
    </repository> 

現在,我的疑問是,應該是什麼<url>的值;它需要是base url,像http://mvnrepository.com/或完整URL - >http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs

對我來說,似乎是應該的基本URL爲別的,我們必須把完整的URL每個依賴性。

誰能幫我明白這一點?

+1

mvnrepository.com不是Maven倉庫也沒有Maven的中央......這意味着你不能用它來消耗神器...... [Maven的中央(http://search.maven.org/#搜索| GA | 1 |克%3A%22org.apache.hadoop%22%20A%3A%含有僞影22hadoop-HDFS%22)。 – khmarbaise

+0

非常感謝,我提到了其中一個SO問題的鏈接。但問題是一樣的,我們需要提供存儲庫的基礎? – CuriousMind

回答

1

除非您想從不同於默認中央Maven存儲庫的存儲庫中獲取工件,否則不需要將<repositories>部分添加到您的pom.xml。閱讀關於Maven資源庫herehere

而且默認中央Maven存儲庫的urlhttp://repo.maven.apache.org/maven2/

PS:您發佈的URL對於網站的人。爲什麼不使用

+0

非常感謝這些信息;所以我們必須提供「基礎url」,然後maven會根據依賴關係的工件進行下載,這是正確的嗎? – CuriousMind

+1

'groupId'和'artifactId'是必需的值。 'mvn'會從中央倉庫中獲取工件,除非你想更改默認的倉庫,否則你不需要提供URL。 – franklinsijo