zoukankan      html  css  js  c++  java
  • 基于Eclipse构建Hadoop源码阅读环境

    一、工具
      1、hadoop-2.6.0-src.tar
      2、eclipse
      3、maven
      4、protoc
    二、下载源码地址:http://mirrors.hust.edu.cn/apache/hadoop/common/
    三、准备maven包:eclipse-maven3-plugin
      M2_HOME E:apache-maven-3.3.3
      path ;%M2_HOME%in
      测试:cmd-->mvn -v
    四、protoc安装
      1、准备:protoc-2.5.0-win32.zip、protobuf-2.5.0.tar.gz
      2、将protoc-2.5.0-win32中的protoc.exe拷贝到c:windowssystem32中。
      3、将proto.exe文件拷贝到解压后的XXXprotobuf-2.5.0src目录中。
      4、进入XXXprotobuf-2.4.1java 目录 执行mvn package命令编辑该包生成protobuf-java-2.5.0.jar文件(Jar包位于XXXprotobuf-2.4.1javatarget目录中)。
      (备注:运行失败,再运行一次竟然成功了,可能网络不好,获取失败)
      5、protoc --version
    五、通过maven获取源码(这里需要说明的是,在使用maven的时候,需要先安装jdk,protoc ,如果没有安装可以参考win7如何安装maven、安装protoc)
      1、进入hadoop->src目录:e:hadoop_srchadoop-2.6.0-srchadoop-maven-plugins
      2、运行:mvn install 生成JAR包(JAR包位于:E:hadoop_srchadoop-2.6.0-srchadoop-maven-plugins arget中)

      (mvn install 是将你打好的jar包安装到你的本地库中,一般没有设置过是在 用户目录下的 .m2下面。

       mvn package 只是将你的代码打包到输出目录,一般的是 target下面。

      3、进入:E:SoftWareHADOOPhadoop2.6hadoop-2.6.0-src,运行:mvn eclipse:eclipse -DskipTests

      (这时候,我们已经把源码给下载下来了。这时候,我们会看到文件会明显增大。)

      4、mvn eclipse:eclipse -DskipTests(生成eclipse项目文件)

       用户目录下的 .m2下面会新增文件;m2是在maven的本地仓库路径
      (进入的是hadoop_home,我这里是D:hadoop2hadoop-2.6.0-src; 这一步总是构建失败,但是已经可以导入源码了)

      (一直重复上述命令,最终还是成功,我估计是由于网络延时原因导致timeout,另外即使成功导入项目后仍有错误提示,原因是没有包;解决办法是再重复运行上术命令....)
    六、应用开发时关联源码

      1、将经过maven编译后的源码压缩成zip格式文件;

      2、当我们想看一个类或则函数怎么实现的时候,通过Open Call Hierarchy,却找不到源文件。

      

      3、通过关联压缩后的zip文件进行关联:

      

      4.验证关联后查看源码

      我们再次执行上面操作,通过Open Call Hierarchy

      

    七、通过Eclipse阅读Hadoop源码

    1、导入项目

    2、选择路径

     3、查看源码

    八、阅读源码

    其中比较常用的
    Open Call Hierarchy:
    用Open Call Hierarchy可以查看方法的调用层次。如果想知道一个方法在别的什么地方被调用了,这个功能就很好用了,实际中也很常用,比如要重构一个方法时,想 知道他对其它什么地方可能有影响,就可以用这个功能。在方法名上点击右键,选择Open Type Hierarchy即可,快捷键是Ctrl+Alt+H。可以在Call Hierarchy窗口看到方法的调用层次的导航。

    Open Type Hierarchy:
    用Open Type Hierarchy可以查看类的继承关系,可以在Hierarchy窗口看到继承层次的导航。在方法或类名上点击右键,选择Open Type Hierarchy即可,快捷键是F4。

    其他的跟踪源码的方法:
    1、 用Open Declaration可以查看类、方法和变量的声明。这是最常用的一个功能了,如果在要追踪的对象上点右键,选择Open Declaration,可以跳转到其声明的地方。这个功能有个快捷键是F3,当然你也可以按住Ctrl键,鼠标移过去会变成一个小手,单击就可以了。


    2、用Open Super Implemention可以查看当前方法在父类中的实现或接口中的声明(前提是该方法是对父类或接口中相应方法的重写),在方法名上点击右键,选择Open Super Implemention即可。

    3、 最后介绍一个超级好用的功能,叫Open Implemention,就是可以跳转到某个调用的方法的具体实现的地方去。为什么说这个是超级好用呢?用过Spring的人都知道,现在都提倡面向接 口编程,所以,如果使用Open Declaration来追踪一个方法的调用的话,只会看到该方法在接口中的声明,而看不该方法在具体类中的实现,当然,可以使用Call Hierarchy先得到该方法的整个的调用层次,然后再导航到具体的实现处,但操作有些麻烦了。有了Open Implemention,就可以直接看到实现的代码了,在方法名上点击右键,选择Open Implemention就可以了!只是要享受这个功能,可安装一个Eclipse插件,这里就不在详细介绍了。

  • 相关阅读:
    Oracle block 格式
    oracle用户解锁
    如何扩大重做日志(redolog)文件的大小
    Oracle重建临时表空间
    ORA-32004: obsolete and/or deprecated parameter(s) specified
    oracle分布式事务总结(转载)
    spring注解 @Scheduled(cron = "0 0 1 * * *")实现定时的执行任务
    IDEA启动Tomcat报错1099 is already in use
    js中const,var,let区别
    mysql笔记
  • 原文地址:https://www.cnblogs.com/pingzhanga/p/4670682.html
Copyright © 2011-2022 走看看