分享

mave编译hadoop出现的问题,求解?

本帖最后由 pig2 于 2014-11-4 15:32 编辑

安装了vmware的虚拟机,centos6.4 64位。由于官方没有64位的hadoop,所以下了源码来编译,但是在编译过程中,用的maven3.0.5或者是3.2.3都会出现在编译hadoop中会去检查源码中 java注释部分的语法错误,例如:注释中有<p/>的时候编译会报错,自己进入源码中把这个<p/>删掉就不报错了,这是什么原因呢? 本人菜鸟
比如说有个错误:[ERROR] /usr/hadoop-2.5.1-src/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/oncrpc/XDR.java:234: warning: no @return,就是因为代码中 public static ChannelBuffer writeMessageUdp(XDR response) 这个方法前面的注释 /** Write an XDR message to a UDP ChannelBuffer  */ 中没有写 @return 的解释

出现问题

出现问题




加上@return 就不会报错了

3.jpg


源码中没有@return

源码中没有@return


已有(8)人评论

跳转到指定楼层
muyannian 发表于 2014-11-4 14:54:58
提供下更多信息,才能得出你说的是什么
回复

使用道具 举报

lyricsss 发表于 2014-11-4 15:00:09
muyannian 发表于 2014-11-4 14:54
提供下更多信息,才能得出你说的是什么

比如说有个错误:[ERROR] /usr/hadoop-2.5.1-src/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/oncrpc/XDR.java:234: warning: no @return,就是因为代码中 public static ChannelBuffer writeMessageUdp(XDR response) 这个方法前面的注释 /** Write an XDR message to a UDP ChannelBuffer  */ 中没有写 @return 的解释
回复

使用道具 举报

muyannian 发表于 2014-11-4 15:09:23
lyricsss 发表于 2014-11-4 15:00
比如说有个错误:[ERROR] /usr/hadoop-2.5.1-src/hadoop-common-project/hadoop-nfs/src/main/java/org/a ...
跟这个没有关系的,这个在编译的过程中,不会调用。这个是跟程序员阅读代码用的。
编译都能成功的,如果不懂里面的代码,不要修改他们,否则出错的概率很大。
至于你出现的这个问题,多看看maven的使用

编译hadoop建议参考这个,他们2.4.和2.5都是差不多的。

hadoop2.5发布:最新编译 32位、64位安装、源码包、Eclipse插件、API以及新特性
从零教你在Linux环境下(ubuntu 12.04)如何编译hadoop2.4


想了解maven,可以参考下面
maven系列视频

源码编译maven系列视频教程汇总
回复

使用道具 举报

lyricsss 发表于 2014-11-4 15:15:49
muyannian 发表于 2014-11-4 15:09
跟这个没有关系的,这个在编译的过程中,不会调用。这个是跟程序员阅读代码用的。
编译都能成功的,如果 ...

就是编译进行不下去,编译不成功。
回复

使用道具 举报

muyannian 发表于 2014-11-4 15:31:14
lyricsss 发表于 2014-11-4 15:15
就是编译进行不下去,编译不成功。
仔细看下这两个文档,如果都懂了,肯定能成功的。


hadoop2.5发布:最新编译 32位、64位安装、源码包、Eclipse插件、API以及新特性
从零教你在Linux环境下(ubuntu 12.04)如何编译hadoop2.4


不成功的话,你也要说出哪里不成功。
回复

使用道具 举报

lyricsss 发表于 2014-11-4 15:33:02
muyannian 发表于 2014-11-4 15:31
仔细看下这两个文档,如果都懂了,肯定能成功的。

哦,谢谢,我仔细看下,估计是maven配置哪出问题了,谢谢
回复

使用道具 举报

kanwei163 发表于 2014-11-4 16:17:26
本帖最后由 pig2 于 2014-11-4 16:49 编辑

环境设置:
yum install svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

1.yum可安装的软件



yum install svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel  
2.安装JDK



rpm -ivh jdk-8-linux-x64.rpm  
  
vim  /etc/profile  
export JAVA_HOME=/usr/java/jdk1.7.0  
export JRE_HOME=/usr/java/jdk1.7.0/jre  
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH  
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
3.安装ant



tar zxvf apache-ant-1.9.4-bin.tar.gz  
  
vim /etc/profile  
export ANT_HOME=/usr/local/apache-ant-1.9.4  
export PATH=$PATH:$ANT_HOME/bin  
4.安装findbugs



tar zxvf findbugs-3.0.0.tar.gz  
  
vim /etc/profile  
export FINDBUGS_HOME=/usr/local/findbugs-3.0.0  
export PATH=$PATH:$FINDBUGS_HOME/bin  
5.安装protobuf




tar zxvf protobuf-2.5.0.tar.gz  
cd protobuf-2.5.0  
./configure --prefix=/usr/local  
make && make install  

6.安装maven



tar -zxvf apache-maven-3.1.1-bin.tar.gz  
  
vim /etc/peofile  
export M2_HOME=/usr/local/apache-maven-3.1.1  
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin  



tar zxvf hadoop-2.5.1-src.tar.gz  
cd hadoop-2.5.1-src  
mvn package -Pdist,native,docs -DskipTests -Dtar  



最后的文件就在hadoop-2.5.1-src/hadoop-dist/target中



至此,自己编译的hadoop2.5.1已经完成,经测试不会再在运行的时候出现warning了,确实让人开心!
另外:如果在编译的时候出现问题,不妨考虑一下jdk的版本以及各个软件的版本的问题,我最初用的是jdk8,一直报错,最后尝试了一下jdk7才算成功

我按照这个编辑的32位【yum install svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel 】
回复

使用道具 举报

lyricsss 发表于 2014-11-4 16:46:53
kanwei163 发表于 2014-11-4 16:17
环境设置:
yum install svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake  ...

谢谢!最后发现,就是jdk1.8的错。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条