kbh 2014-03-12
Cloudera Hadoop Maven编译安装步骤详细教程
OS: Ubuntu 12.04
1.下载hadoop-0.20.2-cdh3u6.tar.gz源码包
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