Cloudera Hadoop Maven编译安装步骤详细教程
OS: Ubuntu 12.04
1.下载hadoop-0.20.2-cdh3u6.tar.gz源码包
http://www.cloudera.com
2.安装配置maven源
/etc/maven2/settings.xml
apt-get install maven2
3.到search.maven.org上搜索下载缺少的jar包 jar包列表: org.apache.maven.doxia:doxia-module-confluence:jar:1.1.3 org.apache.maven.doxia:doxia-module-apt:jar:1.1.3 org.apache.maven.doxia:doxia-module-xdoc:jar:1.1.3 org.codehaus.plexus:plexus-utils:jar:1.5.9 org.apache.maven.surefire:surefire-booter:jar:2.5 org.apache.maven.plugins:maven-surefire-plugin:jar:2.5 搜索方式 g:"org.apache.maven.plugins" AND a:"maven-surefire-plugin" AND v:"2.5"
groupIP artifact version
4.安装jar包 mvn install:install-file -DgroupId=org.apache.maven.doxia -DartifactId=doxia-module-confluence -Dversion=1.1.3 -Dpackaging=jar -Dfile=/path/to/file
需要指定groupID、artifactID、version
5.修改cloudera/maven-packaging/pom.xml
为解决package过程中的如下ERROR
[ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Internal error in the plugin manager executing goal 'org.apache.maven.plugins:maven-surefire-plugin:2.5:test': Unable to load the mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.5:test' in the plugin 'org.apache.maven.plugins:maven-surefire-plugin'. A required class is missing: org/apache/maven/surefire/util/NestedCheckedException org.apache.maven.surefire.util.NestedCheckedException mvn install:install-file -DgroupId=org.apache.maven.plugins -DartifactId=maven-surefire-plugin -Dversion=2.16 -Dpackaging=jar -Dfile=/path/to/file
A required class is missing: org/apache/maven/surefire/util/NestedCheckedException
需要在增加cloudera/maven-packaging/pom.xml 中增加plugin配置 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> <version>2.16</version>
</plugin>
6.编译hadoop mvn -f cloudera/maven-packaging/pom.xml package -DskipTests=true