2014-03-06 41 views
1

我只是想在我的maven項目中引用hadoop mapreduce jar。我看到這樣做的方式發佈在http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce/2.3.0如何在maven中引用hadoop v2.3.0 jar?

我的pom具有以下依賴性。然而,在eclipse中,我看到以下錯誤。

  1. 容器「Maven依賴」引用不存在的庫C:\Users\root\.m2\repository\org\apache\hadoop\hadoop-mapreduce\2.3.0\hadoop-mapreduce-2.3.0.jar
  2. 項目不能建到構建路徑錯誤解決
  3. 缺少神器org.apache.hadoop:hadoop-mapreduce:jar:2.3.0

如何引用Hadoop的V2.3.0罐子在maven?

當我在下面的命令

mvn clean install -e -X -U

我看到下面的輸出

Could not find artifact org.apache.hadoop:hadoop-mapreduce:jar:2.3.0 in central (http://repo.maven.apache.org/maven2)

什麼是怎麼回事任何想法類型?

順便說一下,我的~/.m2/settings.xml還沒有被「篡改」過。它仍然是默認的那個。

這是我的maven版本的一些信息。

mvn -version 
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 08:51:28-0500) 
Maven home: C:\Program Files (x86)\apache-maven-3.0.5\bin\.. 
Java version: 1.7.0_13, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jdk1.7.0_13\jre 
Default locale: en_US, platform encoding: Cp1252 
OS name: "windows 8", version: "6.2", arch: "amd64", family: "windows" 

任何幫助表示讚賞。

回答

2

此作品(公告類型爲POM,因爲這是其他模塊容器):

<dependency> 
<groupId>org.apache.hadoop</groupId> 
<artifactId>hadoop-mapreduce</artifactId> 
<version>2.3.0</version> 
<scope>provided</scope> 
<type>pom</type> 
    </dependency> 

但通常用於開發我使用(它打包所有相關的依賴):

<dependency> 
<groupId>org.apache.hadoop</groupId> 
<artifactId>hadoop-client</artifactId> 
<version>2.3.0</version> 
<scope>provided</scope> 
<type>jar</type> 
    </dependency> 
+0

謝謝。那工作。我將搜索範圍和類型的Maven依賴。如果您有時間,請解釋爲什麼如果這是引用這些依賴關係的方式,爲什麼它不在mvnrepository.com上顯示? –