我只是想在我的maven项目中引用hadoop mapreduce jar。我发现这样做的方式发布在http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce/2.3.0。
我的pom具有以下依赖性。
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce</artifactId>
<version>2.3.0</version>
</dependency>
然而,在eclipse中,我看到以下错误。
C:\Users\root\.m2\repository\org\apache\hadoop\hadoop-mapreduce\2.3.0\hadoop-mapreduce-2.3.0.jar
org.apache.hadoop:hadoop-mapreduce:jar:2.3.0
如何在maven中引用hadoop v2.3.0 jar?
当我输入以下命令时
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"
感谢任何帮助。
答案 0 :(得分: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>