OpenGrok的安装和使用

本文介绍了如何在Ubuntu环境下安装并配置OpenGrok代码浏览工具,包括设置Java环境、安装配置OpenGrok及启动Tomcat的过程,并展示了如何利用OpenGrok进行高效的代码搜索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 介绍

最近在从事Android框架开发有关的项目,需要查看和修改Android的源码. 由于android的源码繁多,所以查看起来比较困难

在这里推荐OpenGrok这款工具,它是一款基于web的免费的代码查看工具,它可以导入整个源代码目录,然后为它建立索引,加快搜索速度

优点: a. 直观,好用,安装简单;

             b. 而且搜索代码,文件都很方便迅速,可以准确定位变量或方法的定义和引用之处;

             c. 可以跟git,svn等工具结合起来(还有待研究)

缺点: 只能看代码 不能修改 (由于页面上显示了文件路径,想修改哪个文件,直接用vi或者gedit打开修改就好了)


二. 安装

我使用的环境是Ubuntu 12.04 64bits

需要JDK或者JRE, Tomcat和OpenGrok的安装包

JDK我用的是jdk1.6.0_45这个版本

Tomcat我使用的是解压缩版的apache-tomcat-6.0.18

opengrok的下载地址:http://opengrok.github.io/OpenGrok/

我下载的是 opengrok-0.11.1.tar.gz - Binaries only这个版本

以上三个工具我都安装在了/opt目录下


1. 配置Java环境

在/etc/profile文件下加入下面三行:

export JAVA_HOME=/opt/jdk1.6.0_45
export CLASS_PATH=$JAVA_HOME
/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH


2. 安装和配置OpenGrok

# tar -xvzf opengrok-0.11.1.tar.gz -C /opt/

# cd /opt

# ln -s opengrok opengrok-0.11.1

# cd opengrok

# mkdir ./opengrok/data              //用来存放你所要查看的代码的索引

# cp ./opengrok/lib/source.war /opt/apache-tomcat-6.0.18/webapps/

# vi /opt/apache-tomcat-6.0.18/webapps/source/WEB-INF/web.xml

修改红色字体部分

<context-param>
    <param-name>CONFIGURATION</param-name>
    <param-value>/opt/opengrok/etc/configuration.xml</param-value>
    <description>Full path to the configuration file where OpenGrok can read it's configuration</description>
</context-param>

# vi /etc/profile

在末尾加入OpenGrok的环境变量

export OPENGROK_INSTANCE_BASE=/opt/opengrok


# source /etc/profile             //让配置生效,注意不要切换terminal, 否则环境变量就又失效了,除非你重启电脑


3. 启动Tomcat

# /opt/apache-tomcat-6.0.18/bin/startup.sh

然后在浏览器中访问地址http://localhost:8080

如果出现Apache的画面,证明tomcat启动成功


然后访问http://localhost:8080/source

如果出现OpenGrok的画面,证明OpenGrok也配置成功了



否则就去tomcat的log目录下查看catalina.out日志文件查看原因


三. 使用

 关联你所要查看的代码所在目录

# /opt/opengrok/bin/OpenGrok index $your_source_code_dir

等待建立完索引,然后在页面右边的listbox中就能看到工程目录了

接下来就可以搜索查看了


页面上提供了五个搜索框, 查看help得知:

valid FIELDs are

full
Search through all text tokens(words,strings,identifiers,numbers) in index.
defs
Only finds symbol definitions.
refs
Only finds symbols.
path
path of the source file.
hist
History log comments.

三. 总结

这里也只是抛砖引玉,整理了一下网上一些大牛写的安装过程,写得很好,受益匪浅

不过有些文章里面讲的配置比较多,很多配置都用不上吧,所以我把它精简了一下

如果有什么疑问或者错误,欢迎交流指正

### 安装 OpenGrok 的准备工作 在 Ubuntu 系统上安装 OpenGrok 之前,需要确保系统中已经安装了以下依赖项: - **Java Development Kit (JDK)**:OpenGrok 需要 JDK 1.7 或更高版本。可以通过运行 `java -version` 来检查是否已安装 JDK。 - **Exuberant Ctags**:这是用于代码分析的工具,可以通过运行 `ctags --version` 来检查是否已安装 Exuberant Ctags。 - **Servlet 容器**:如 Tomcat 5.x 或更高版本。Tomcat 是一个常用的 Servlet 容器,可以用来部署 OpenGrok 的 Web 应用程序。 - **足够的内存**:建议至少有 2GB 的内存用于索引过程,尽管对于较小的项目可以使用更少的内存。 如果这些依赖项尚未安装,可以通过以下命令来安装它们: ```bash sudo apt-get update sudo apt-get install default-jdk exuberant-ctags tomcat9 ``` ### 下载并解压 OpenGrok 接下来,可以从 OpenGrok 的官方网站或 GitHub 仓库下载最新的 OpenGrok 发行版。假设你已经下载了一个名为 `opengrok-0.11.1.tar.gz` 的文件,可以使用以下命令来解压它: ```bash tar -xzvf opengrok-0.11.1.tar.gz ``` 这将创建一个名为 `opengrok-0.11.1` 的目录。进入该目录并导航到 `bin` 子目录: ```bash cd opengrok-0.11.1/bin ``` ### 安装 OpenGrok 工具 为了方便地管理部署 OpenGrok,可以使用 `opengrok-tools.tar.gz` 这个包。这个包包含了用于管理 OpenGrok 实例的各种脚本工具。可以通过以下命令来安装它: ```bash python3 -m pip install opengrok-tools.tar.gz ``` 如果你还没有安装 `python3-pip`,可以通过以下命令来安装它: ```bash sudo apt-get install python3-pip ``` ### 部署 OpenGrok Web 应用 一旦所有的依赖项都安装完毕,并且 OpenGrok 工具也已经安装,就可以开始部署 OpenGrok 的 Web 应用程序了。首先,确保 Tomcat 服务正在运行: ```bash sudo systemctl start tomcat9 ``` 然后,使用 `OpenGrok` 脚本来部署 Web 应用程序: ```bash sudo ./OpenGrok deploy ``` 这条命令将会把 `source.war` 文件安装到 Tomcat 的 `webapps` 目录下。等待几分钟,直到 Tomcat 加载完新安装的 Web 应用程序。 ### 访问 OpenGrok 最后,打开浏览器并访问以下 URL 来查看 OpenGrok 是否成功安装: ``` http://<HOST>:<PORT>/source ``` 其中 `<HOST>` `<PORT>` 是你的服务器地址端口号,通常默认的端口号是 8080。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值