Open Grok是一个强大的源代码搜索和对照引擎,是Open Solaris的源文件浏览及搜索工具。虽然Open Solaris已经不复存在,但这个工具仍然处于开发与维护之中。 相信我,绝对值得你拥有!

1. 安装Open Grok

1.1 安装Tomcat

sudo apt-get install tomcat8

1.2 安装ctags

sudo apt-get install exuberant-ctags

1.3 下载Open Grok并安装到/opt

最新的版本是1.1-rc18, 可用wget下载到本地,例如:

wget https://github.com/oracle/opengrok/releases/download/1.1-rc18/opengrok-1.1-rc18.tar.gz

然后解压缩,

tar zxf opengrok-1.1-rc18.tar.gz

最后将opengrok移动到/opt下面存放。

sudo mv opengrok-1.1-rc18 /opt
cd /opt
sudo ln -s opengrok-1.1-rc18 opengrok

2. 配置Tomcat以使用Open Grok

2.1 Copy opengrok/lib/soure.war to /var/lib/tomcat8/webapps/

root# cp /opt/opengrok/lib/source.war /var/lib/tomcat8/webapps

2.2 Update WEB-INF/web.xml

root# cp /var/lib/tomcat8/webapps/source/WEB-INF/web.xml /tmp/web.xml
root# vi /var/lib/tomcat8/webapps/source/WEB-INF/web.xml
// ...Edit L8...
// 8 <param-value>/var/opengrok/etc/configuration.xml</param-value>
// ...Replace /var with /opt
root# diff /var/lib/tomcat8/webapps/source/WEB-INF/web.xml /tmp/web.xml
8c8
< <param-value>/opt/opengrok/etc/configuration.xml</param-value>
---
> <param-value>/var/opengrok/etc/configuration.xml</param-value>

3. 体验Open Grok

3.1 创建一个样板工程

veli$ cd /var/tmp
veli$ mkdir git
veli$ cd git
veli$ git clone https://github.com/idorax/vCodeHub.git
veli$ sudo /opt/opengrok/bin/OpenGrok index /var/tmp/veli/git

3.2 体验开始!

  • 首页

  • 某个代码页

扩展阅读:

结束语: Open Grok是基于网页的代码搜索和比对工具,简单易用且高大上。当然,如果你始终钟情于LXR,没啥子好说的,也挺好! (P.S. 本人特别不喜欢单机版的Source Insight!)

Education is not the filling of a pail but the lighting of a fire. | 教育不是注满一桶水,而是点燃一把火。

在Ubuntu16.04上使用Open Grok的更多相关文章

  1. Ubuntu16.04上用源代码安装ICE

    ubuntu16.04上用源代码安装ICE

  2. Ubuntu16.04上安装neo4j数据库

    什么是neo4j数据库? neo4j数据库是图数据库的一种,属于nosql的一种,常见的nosql数据库还有redis.memcached.mongDB等,不同于传统的关系型数据库,nosql数据也有 ...

  3. 在ubuntu16.04上安装eclipse

     在ubuntu16.04上安装eclipse 一.下载     首先我们需要安装jdk1.8及其以上,然后从官网:https://www.eclipse.org/downloads/上下载,需要注意 ...

  4. 在ubuntu16.04上编译android源码【转】

    本文转载自:http://blog.csdn.net/fuchaosz/article/details/51487585 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6. ...

  5. ubuntu16.04上在使用搜狗输入法时,按shift不能正常切换中英文

    问题描述: ubuntu16.04上在使用搜狗输入法时,不知道把什么组合键给错按了,导致了按shift不能正常切换中英文,这是一件很烦恼的事儿! 解决步骤: 1,终端输入打开: fcitx-confi ...

  6. primecoin在ubuntu16.04上部署服务:

    primecoin在ubuntu16.04上部署服务: 一.下载Tomcat,Jdk,primecoin(公司内部文件) 注意Tomcat版本需要高于Jdk的,不然会报错. 二.把它们都解压到你要的安 ...

  7. Ubuntu16.04上安装cudnn教程和opencv

    https://blog.csdn.net/wang15061955806/article/details/80791112 Ubuntu16.04上安装cudnn教程 2018年06月24日 14: ...

  8. 【MindSpore】Ubuntu16.04上成功安装GPU版MindSpore1.0.1

    本文是在宿主机Ubuntu16.04上拉取cuda10.1-cudnn7-ubuntu18.04的镜像,在容器中通过Miniconda3创建python3.7.5的环境并成功安装mindspore_g ...

  9. 在Ubuntu16.04上部署LXC容器管理系统的相关步骤

    打算安装一个LXC linux容器管理的软件来分配使用资源并配置不同的编程环境,这样就方便大家的使用,步骤如下(宿主机的环境都搭建好了,对应显卡的驱动等): 参考网站: 简单入门和相关指令总结:htt ...

随机推荐

  1. springmvc elf8848

    刚开始觉得孔浩讲得好,之后觉得开涛讲得好,现在觉得elf8848讲得好.其实只是自己学习的各个阶段 孔浩:环境搭建,做了个基础的CRUD 开涛:讲了Controller(不该看),注解,数据绑定,请求 ...

  2. Java中对比两个对象中属性值[反射、注解]

    在Java中通常要比较两个对象在修改前与修改后的值是否相同,一般我们采用的是反射技术获取对象的get方法[或其他的方法]获取值并做比较.如果系统将修改的属性名称也显示出来,这样就能更直观的显示类中的哪 ...

  3. 利用backtrace和backtrace_symbols函数打印调用栈信息

    在头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈. #include <execinfo.h>  int backtrace(void * ...

  4. ASP.NET控制HTTP缓存

    请求   响应 If-Modified-Since Last-Modified If-None-Match ETag 至于Expires和Cache-Control 附上几张高手的图 Etag 在使用 ...

  5. C#实现FTP文件的上传、下载功能、新建目录以及文件的删除

    本来这篇博文应该在上周就完成的,可无奈,最近工作比较忙,没有时间写,所以推迟到了今天.可悲的是,今天也没有太多的时间,所以决定给大家贴出源码,不做详细的分析说明,如果有不懂的,可以给我留言,我们共同讨 ...

  6. jquery批量控制表单元素

    网上查了很久,避免下次再遇到相同的问题,记录一下: $("form input").prop("readonly", true); $("form i ...

  7. Java编程中获取键盘输入实现方法及注意事项

    Java编程中获取键盘输入实现方法及注意事项 1. 键盘输入一个数组 package com.wen201807.sort; import java.util.Scanner; public clas ...

  8. 2D Convex Hulls and Extreme Points( Convex Hull Algorithms) CGAL 4.13 -User Manual

    1 Introduction A subset S⊆R2 is convex if for any two points p and q in the set the line segment wit ...

  9. 关于jdbc编程的几点需要注意的地方

    代码 private void logDataDb(ArrayList<ReceiveData> datas) { Connection conn = null; PreparedStat ...

  10. CodeChef TWOROADS(计算几何+拉格朗日乘数法)

    题面 传送门 简要题意:给出\(n\)个点,请求出两条直线,并最小化每个点到离它最近的那条直线的距离的平方和,\(n\leq 100\) orz Shinbokuow 前置芝士 给出\(n\)个点,请 ...