Eclipse开发环境读取源码的方式

非常棒的想法,可惜不是我想出来的,,源地址:http://www.cnblogs.com/sharpxiajun/p/3150658.html


  It行业的竞争越来越激烈,it公司对程序员的要求也越来越高,很多公司重要岗位都要求程序员研究过某某程序的源码,但是我们专门去读源码其实是一件很困难的事情,除非你对这个框架使用极其熟悉,要不一定是越看越迷糊,越看越没信心,如果我们可以把学习某个框架编程同时也能读读源码的程序,这样操作一定会对你的学习事半功倍。

  下面我将我的一个经验贴出来,这个方式很简单,很多人都使用到,但是可能都没留意,具体如下:

  首先我建一个工程JavaJar,如图所示:

Eclipse开发环境读取源码的方式_第1张图片

  代码如下:

复制代码
package cn.com.jar; import java.util.StringTokenizer; public class StringJar { public String line; public StringJar(String line) { super(); this.line = line;
    } public String testftn(){
        String strs = null;
        
        StringTokenizer st = new StringTokenizer(line); while(st.hasMoreElements()){
            strs += st.nextToken() + "@!@";
        } return strs;
    } public static void main(String[] args) {
        StringJar jar = new StringJar("I am XXX  hello world");
        System.out.println(jar.testftn());
    }

}
复制代码

  然后我将工程编译成一个jar包,如图所示:

Eclipse开发环境读取源码的方式_第2张图片

  下面,我再建一个工程:testprj,导入该jar包,如图所示:

Eclipse开发环境读取源码的方式_第3张图片

  我们编写测试程序,如下所示:

复制代码
package cn.com.test; import cn.com.jar.StringJar; public class TestMain { /** * @param args */ public static void main(String[] args) {
        StringJar jar = new StringJar("I am XXX  hello world");
        System.out.println(jar.testftn());

    }

}
复制代码

  下面我将StringJar类移入到testprj工程,如图所示:

Eclipse开发环境读取源码的方式_第4张图片

  我们在程序里设置断点,再debug运行程序,我们会发现,断点进入了。

  由上面的现象给我一个启示,我们使用插件编写mapreduce程序时候,如果我们对某些代码感兴趣,就把源码放到工程里,可以有针对的进行调试。当然有些童鞋会说把源码直接导入到eclipse里面,不是全有了吗?我觉得那样做法不是太清晰,有针对的放入源码能缩小我们学习的范围,更有针对性。

  此外,hadoop远程调用时候很容易会不能正常运行,这个时候需要更改源码,如果我们没有上面的方式,那么我们就必须重新编译hadoop-core-XXX.jar包,这就增加了操作难度,那么上面的操作方式会给我们带来便利,例如下图所示:

Eclipse开发环境读取源码的方式_第5张图片

  红框里面就是我注释的代码。

你可能感兴趣的:(Eclipse开发环境读取源码的方式)