windows7 安装opengrok阅读源码

2016-12-30 12:29

RTFSC (Read the Fucking Source Code ) 是程序员打怪升级路上避不开的功课,那营造一个舒适的环境来提升上课的体验就很有必要了。

比如阅读 AOSP 这种大型源码,用什么姿势来阅读才能丝般顺滑,让 F**king Source Code 也变得不那么可恶呢?

OpenGrok 特点

  1. 快速搜索代码的引擎
    • 搜索全文、定义、符号、文件路径和修改历史
    • 搜索任意指定子目录(分层搜索)
    • 增量更新索引文件
    • 支持类似 Google 的查询语法,比如 path:Makefile defs:target
    • 搜索日期范围内修改的文件
    • 支持使用通配符搜索,如 * 表示多个字符,? 表示单个字符
    • 在搜索结果中展示匹配行
  2. 一个 Web 只读版的版本历史查看界面
    • 文件的修改日志
    • 文件在两个版本间的 diff
    • 文件夹的历史记录
  3. 带语法高亮的交叉引用显示,可以使用 CSS 自定义样式
  4. 可以开发插件支持新的语言和版本控制系统

安装OpenGrok

OpenGrok概览

搜索功能和源码树:

windows7 安装opengrok阅读源码0

代码导航和版本历史记录:

windows7 安装opengrok阅读源码1

OpenGrok安装

这里OpenGrok的安装是在windows7下安装的,如果想要在linux下安装可以参考 搭建大型源码阅读环境——使用 OpenGrok 这篇文章。

1.安装JDK1.8。安装完成后配置环境变量。直到打开命令执行 jdk --version 出现如下结果所示:

windows7 安装opengrok阅读源码2

2.安装tomcat。 tomcat下载地址 。直接解压,到bin目录下,用startup.bat脚本启动tomcat。如果访问 http://localhost:8080能够看到如下结果,就表示tomcat安装成功。

windows7 安装opengrok阅读源码3

这里除了安装tomcat之外,其实也不能称之为安装。因为考虑到后面需要让OpenGrok一直在后台运行,我就把tomcat注册成了一个windows的服务。具体方法为

// windows7下一定要以管理员身份打开cmd命令行
// cd到tomcat8根目录下
cd ./bin/
service.bat install
windows7 安装opengrok阅读源码4

安装成功后可以通过 计算器->管理->服务 可以看到 Apache Tomcat 8.5 这个service.如下所示:

windows7 安装opengrok阅读源码5

后面启动tomcat可以通过windows服务自行开启或者通过命令行开关.

net tomcat8 start
net tomcat8 stop

如下:

windows7 安装opengrok阅读源码6

3.安装ctags。我直接用的官方推荐的 Universal Ctags 。 Universal Ctags下载地址 。按照系统版本下载好ctags之后,需要把ctags配置到系统环境变量中。配置完成后,执行 ctags --version 出现如下所示,就表示安装成功了.

windows7 安装opengrok阅读源码7

4.配置下文件夹

其实到第三步的时候,该安装的软件都安装差不多了。这一步是为后面下载源码以及生成源码文件的索引做准备的.文件夹结构如下所示

opengrok

|——- data 生成索引相关数据文件夹。

|——- source 源码文件夹,我们把想看的源码就放在这里。

文件夹搞定之后就是下载源码,执行opengrok的jar包生成相关的索引。这里以jquery为例

// 下载jquery最新源码
git clone https://github.com/jquery/jquery.git

// 执行opengrok.jar生成相关索引
// java -jar /path/to/opengrok.jar -P -S -v -s /path/to/source/root -d /path/to/data/root -W /path/to/configuration.xml
// 我这里的实际路径是c盘
java -jar C:/opengrok-0.13-rc5/lib/opengrok.jar -P -S -v -s C:/opengrok/source -d C:/opengrok/data -W C:/opengrok/data/configuration.xml

// -P 表示为 source root 目录下的每个一级子目录生成一个工程。
// -S 表示搜索并添加 "external" source repositories。
// -v 表示打印操作的进度信息。
// -s 表示指定 source root。
// -d 表示指定 data root。
// -W 表示指定将配置写到该文件。这个configuration.xml配置文件等会启动opengrok会用到

5.把opengrok中的source.war扔到tomcat中,启动opengrok的相关服务。直接把opengrok的lib目录下的source.war文件拷贝到tomcat的webapps目录下即可。这里大家还记得我们在第四步中生成的configuration.xml文件么。这里需要修改source.war中的web.xml文件,使得source.war启动的时候能够正确的找到我们上面生成的configuration.xml文件。这里我用的好压这款软件,右击source.war->用好压打开->在WEB-INF目录下有一个web.xml->然后右击选中用内部查看器打开。这个时候编辑红框区域

windows7 安装opengrok阅读源码8

修改之后如图所示:

windows7 安装opengrok阅读源码9

opengrok初体验

一切准备就绪。下面就是启动tomcat,之前我们已经把tomcat安装成windows的一个系统服务。这里我们直接在系统的服务中打开tomcat。访问 http://localhost:8080/source/就可以看到opengrok已经启动。

opengrok启动画面如下,一个web的源码阅读工具

windows7 安装opengrok阅读源码10

随便撸一发jquery源码,有图:

windows7 安装opengrok阅读源码11