Java是开源的世界,如何快速的搜索到你需要的Java源码呢?
2009年7月17日,GrepCode团队发布了一个有趣的 Java源码搜索引擎-GrepCode 。与现有的各种搜索引擎相比,Java源码搜索引擎-GrepCode把Java源码搜索带到了一个新的高度。Java源码搜索引擎-GrepCode 不但提供了语法的高亮显示和JavaDoc的现实,还提供了一种界面非常友好的的Java类型集成视图,便于人们搜索。用户可以很容易的找到某个特定版本代码依赖的工程代码。Java源码搜索引擎-GrepCode 同时允许用户从某个Java方法的调用直接定位到调用的Java方法体。堆栈跟踪搜索是 Java源码搜索引擎-GrepCode的另一大亮点,该功能允许程序员快速定位某个异常对应的代码,而不需要下载整个功能的源码包或者第三方的源码包。
笔者使用Java源码搜索引擎搜索”tapestry”
返回结果是两栏: Types和 Projects,其中Types返回的结果是tapestry各个版本中的接口和类的定义列表,而Projects返回的结果是tapestry各个版本的包名称,可见Java源码搜索引擎-GrepCode 的返回结果十分的清晰人性化,是开发人员手头查阅源码的首选!

Java源码搜索引擎-GrepCode网址:

http://grepcode.com

Eclipse的GC插件和任何其它的Eclipse插件一样,都可以通过以下步骤安装:

  1. Help -> Install new software.

  2. 点击"Add..."按钮,输入Name 和 GrepCode 的更新网址http://repository.grepcode.com/java/ext-eclipse/
  3. 点击 "Next"按钮进入"Install Details" 页

  4. 接受许可说明并且点击"Finish"按钮。

用法

经过如上步骤在Eclipse中成功安装GC插件以后,我们可以使用它浏览我们代码中使用的开源库中的源码,举例说明如下:

    • 假设你正在上一个项目,涉及到一个开源库,如JGroups。你的项目注册作为其依赖的JGroups-all.jar(即:假设在你的工程中使用到了JGroups这种开源代码库中的某个类),如下所示。

    • “JGroupsTest”工程中用的JGroups类库中的“JChannel”类。在“JChannel”类上我们按下F3键查看“JChannel”类源码时,我们会发现“Class File Editor”中提示“未找到源代码”,我们只能浏览到“JChannel”的部分说明,并不是我们想看的“JChannel”类的源代码。

    • 虽然在“Class File Editor”视图中我们没有看到“JChannel”类源码,但是我们可以点击工具面板上的“GC Search”按钮,通过GC插件搜索GrepCode内的的“JChannel”类。搜索结果显示在IDE中的“GC Search”Tab页中。
    • 现在我们可以选择跟我们工程相对应的源码版本来查看"JChannel"类的源代码了。

    • 我们也可以通过快捷键“Ctrl+M”最大化"Class File Editor"视窗以方便我们阅读源码。

[Eclipse插件] Eclipse中如何安装和使用GrepCode插件的更多相关文章

  1. Eclipse中如何安装和使用GrepCode插件

    GrepCode(GC)Eclipse插件允许Eclipse用户在Eclipse IDE中搜索由GrepCode提供的工厂类.本教程介绍如何安装和使用插件.使用Eclipse3.5(Galileo)的 ...

  2. Eclipse中如何安装和使用GrepCode插件 (转)

    GrepCode(GC)Eclipse插件允许Eclipse用户在Eclipse IDE中搜索由GrepCode提供的工厂类.本教程介绍如何安装和使用插件.使用Eclipse3.5(Galileo)的 ...

  3. win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件

    win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件   1.去git上下载react-devtools文件到本地,https://github.com/fac ...

  4. FineReport中如何安装移动端H5插件

    1. HTML5报表插件安装及使用编辑 插件安装 插件网址以及设计器插件安装方法和服务器安装插件的方法可以官网上面搜索,这里就不做详细介绍了. 移动端HTML5报表使用方法 安装好插件后,在浏览器中调 ...

  5. js检测浏览器中是否安装了flash播放插件

    这两天工作中需要在网页中嵌入flash小游戏,我使用的是swfobject.js version:1.5.其他方面都很好,唯独版本检测这里一直没有搞通,后来实在无奈之下,改用js来检测浏览器的flas ...

  6. JS 检测浏览器中是否安装了特定的插件

    1.检测非IE浏览器 可以使用plugins数组来达到这个目的,例: //检测插件(在IE中无效) function hasPlugin(name){ name = name.toLowerCase( ...

  7. 每日vim插件--vim中的文本对象及相关插件

    最近在个人博客上 http://foocoder.com  每天都会介绍一个vim插件,想起来园子也好久没更新了,也来更新一篇. 今天按读者留言的要求,介绍下文本对象.同时还会介绍我在用的几个文本相关 ...

  8. Idea安装findbugs插件,以及findbugs安装find security bugs插件

    第一:先讲述Idea怎么安装findbugs插件 具体操作如下面的图所示: 然后就可以安装findbugs 第二:findbugs怎么安装find security bugs这个find bugs的插 ...

  9. Eclipse中如何安装Git插件

    现在的Eclipse一般都自带Git插件. 检查Eclipse是否有Git插件: 方法一:Help—>About Eclipse,出现下面的图标,说明Eclipse中已有Git插件,就不用安装了 ...

随机推荐

  1. 12-6 NSArray

    原文:http://rypress.com/tutorials/objective-c/data-types/nsarray NSArray NSArray 是 Objective-C中最常用的数组类 ...

  2. vue 计算属性 实例选项 生命周期

    vue 计算属性: computed:{} 写在new vue()的属性,只要参与运算,数据不发生变化时,次计算只会执行一次,结果缓存,之后的计算会直接从缓存里去结果.如果其中的值发生变化(不管几个) ...

  3. 高性能网络服务器--I/O复用 select poll epoll_wait之间的区别

    一.select select采用的是集合的方式,最多只能访问1024个套接字.可读,可写,异常,三种访问,并且采用的是轮训的方式进行每次访问都需要从内核向用户空间拷贝 二.poll poll采用的是 ...

  4. HDU-5384

    Danganronpa Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tot ...

  5. ExecutorService 用例

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Tes ...

  6. Spring boot 集成hessian - LocalDateTime序列化和反序列化

    - 反序列化 import com.caucho.hessian.HessianException; import com.caucho.hessian.io.AbstractDeserializer ...

  7. MapReduce程序的几种提交运行模式

    本地模型运行 1/在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行      ----输入输出数据可以放在本地路径下(c:/wc/ ...

  8. C#获取网页信息核心方法(入门一)

    目录:信息采集入门系列目录 下面记录的是我自己整理的C#请求页面核心类,主要有如下几个方法 1.HttpWebRequest Get请求获得页面html 2.HttpWebRequest Post请求 ...

  9. centos7.5&ubuntu18.10安装Google浏览器

    一.手动安装 1. 下载 rpm 包https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 2. 安装依赖 ...

  10. 【转】Django中的cookie与session

    转自:https://www.cnblogs.com/chenchao1990/p/5283725.html cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空 ...