opengrok使用教程之单工程(上)

opengrok使用教程之单工程(上)OpenGrok简介有些情况下,我们需要在GB级别甚至几十GB级别且随时不断更新的大型代码(比如Android源码)里面搜索阅读源码,那么我们自然而然会有以下一些基本的需求:能够快速搜索代码代码可存放于本地/服务器代码之间可以跳转跨平台易于维护…显然SourceInsight、ctags、grep等工具在这些场景下就不太适合,于是有了OpenGrok这类代码搜索引擎。先看看维…

大家好,又见面了,我是你们的朋友全栈君。

  1. OpenGrok简介
    有些情况下,我们需要在GB级别甚至几十GB级别且随时不断更新的大型代码(比如Android源码)里面搜索阅读源码,那么我们自然而然会有以下一些基本的需求:

能够快速搜索代码
代码可存放于本地/服务器
代码之间可以跳转
跨平台
易于维护

显然SourceInsight、ctags、grep等工具在这些场景下就不太适合,于是有了OpenGrok这类代码搜索引擎。

先看看维基百科对OpenGrok的介绍:

OpenGrok is a source code search and cross reference engine. It helps programmers to search, cross-reference and navigate source code trees. —— [ 维基百科]

大概的意思是说,OpenGrok是一个快速、便于使用的源代码搜索与对照引擎。它能够帮助我们搜索,对照,定位我们的源代码树。

OpenGrok 应该算是我目前所知道的最好用的代码搜索、浏览工具了。由于OpenGrok是基于数据库的搜索,在代码量巨大的情况下(比如整份Android源码),搜索速度比sourceinsight要快速得多。另外,OpenGrok还是OpenSolaris操作系统源文件浏览和搜索的工具。一直以来,我都是使用OpenGrok来搜索阅读Android系统的源代码。

目前网络上已经有使用OpenGrok对Android源码进行索引的搜索引擎,地址:http://androidxref.com
OpenGrok官方主页请参照:http://opengrok.github.io/OpenGrok/

下面记录一下OpenGrok的搭建过程。

  1. Java环境配置
    1.通过 sudo yum install java 或者 sudo apt-get install java安装java 1.8.x版本(已有java1.8版本可跳过该步骤)

  2. 查看设备Java版本号,确保$ java -version 为 java version “1.8.x”及以上版本
    java -version//命令可以查看版本

  3. Tomcat环境配置
    $ sudo apt-get install exuberant-ctags tomcat8
    $ sudo /etc/init.d/tomcat8 restart

浏览器中打开http://localhost:8080/,出现下图说明tomcat8没问题。

在这里插入图片描述
3. OpenGrok搭建
-下载OpenGrok
OpenGrok目前的版本不断演进:https://github.com/oracle/opengrok/releases
但是强烈建议不要采用最新版本(根据实测发现虽然可以完成OpenGrok环境的搭建,但极大可能发生无法为代码建立索引的情况,该问题排查数天无果,转而基于低版本搭建成功)
如下版本存在各自的问题
(1). https://github.com/oracle/opengrok/releases/tag/1.1-rc38 无法完成代码的符号解析
(2). https://github.com/oracle/opengrok/releases/tag/0.12.1.5
(3). https://github.com/oracle/opengrok/releases/tag/0.13-rc10

从 https://github.com/oracle/opengrok/releases/tag/0.12.1.5 下载并解压至 /opt/opengrok-0.12.1.5
为OpenGrok配置环境
export OPENGROK_PATH=”/opt/opengrok-0.12.1.5″

-部署OpenGrok
OpenGrok提供了现成的脚本。首先到前面解压后的目录,运行以下命令。其中环境变量OPENGROK_TOMCAT_BASE为tomcat所在路径(tomcat7貌似脚本自己能找到,tomcat8自动找不到,所以人肉指定)。
tomcat 安装路径通过命令查询如下:

$ sudo OPENGROK_TOMCAT_BASE=/var/lib/tomcat8 ./OpenGrok deploy
在这里插入图片描述

这步之后浏览器打开http://localhost:8080/source/,应该能看到下面的页面,但现在是空的。
在这里插入图片描述

  • 生成索引
    用下面命令生成代码索引。假如代码在/home/jzj/source/Android/7.1下的话:
    ~opt/opengrok-0.12.1.5/bin$ sudo ./OpenGrok index /home/cpy/a6/kernel

等结束后打开http://localhost:8080/source/,大概20min就能浏览代码了。
在这里插入图片描述

https://www.linuxidc.com/Linux/2017-11/148466.htm (转载)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139677.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • UART通信接口_uart接口程序

    UART通信接口_uart接口程序

    2022年9月14日
    0
  • Ubuntu安装vscode步骤

    Ubuntu安装vscode步骤Ubuntu安装vscode步骤下载deb文件,网址是点击官网下载 下载好放到ubuntu系统里 然后执行命令 sudodpkg-icode_1.51.1-1605051630_amd64.deb#需要root也就是管理员方式安装#code_1.51.1-1605051630_amd64.deb为对应安装包的名称不同版本名称不同 #运行过程linuxer@ubuntu:~/Documents$lsacode_1.51.1-160505163.

    2022年9月18日
    1
  • KindEditor配置和使用

    KindEditor配置和使用|字号订阅很长时间没有写学习心得了,整理了一下思路,简单写一下吧。1下载kindeditor包,目前最新版本是kindeditor-3.5.5。下载地址:http://www.kindsoft.net/2.解压之后,解压目录kindeditor如下图所示。3.开始瘦身,其实调用kindeditor并不需要那么多文件,只要保留目录:…

    2022年10月12日
    0
  • 如何使用eclipse创建JAVA项目并写一个简单的HelloWorld

    如何使用eclipse创建JAVA项目并写一个简单的HelloWorld打开eclipse软件,选择好工作区域(就是项目的储存地址)后登陆。File-New-Project选择JavaProject输入项目名称点击完成(Finish)在SRC(SRC是专门放java源代码的文件夹,就是你在IDE里编写的各个java类的文件都在里面)中新建package包包的命名规范:包名全部使用小写。包名通常由若干个标识符…

    2022年7月24日
    4
  • 2020最新版Net加壳工具

    2020最新版Net加壳工具VirboxProtector发布最新版本Net加壳工具:VirboxProtector2.VirboxProtector为.NETFramework编写的软件做代码保护,防止代码被反编译,防止IL代码在内存被Dump。同时可配合授权产品实现软件的许可管理。加密技术VirboxProtector.NET版通过多种保护方式来防止反编译,加密后可让任何现有工具都无法反编译。JIT加密将.NET所有方法的IL指令经过加密,仅在.NET虚拟机进行J.

    2022年6月27日
    76
  • 亚马逊EBS:aws ebs 和 ssd的区别「建议收藏」

    亚马逊EBS:aws ebs 和 ssd的区别

    2022年2月16日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号