Cloudera Hadoop Maven编译安装步骤详细教程

kbh 2014-03-12

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

相关推荐