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. 绩效沟通的best原则

    绩效沟通-BEST原则 BEST原则指在进行绩效/IDP面谈的时候按照以下步骤进行: 案例:小赵经常在制作标书时候犯错误 Behavior description 描述行为 小赵,8月6日,你制作的标 ...

  2. [ajax] quick double or multiple click ajax submit cause chrome explorer's error snatshot

    快速点击ajax提交,引发的错误截图1: snapshot -2:

  3. Time&Patience

    “时间和耐心,是世间最强大的两个勇士.” “对未来越有信心,对今天越有耐心,坚持做正确的事.” 每日必做清单 每天六组俯卧撑    活在当下    接收脆弱    一万小时理论(罗马不是一天建成的,胖 ...

  4. api接口签名相关文章

    http://www.cnblogs.com/hnsongbiao/p/5478645.htmlhttp://www.cnblogs.com/codeon/p/5900914.html?from=ti ...

  5. 【Win10】开发中的新特性及原有的变更(二)

    声明:本文内容适用于 Visual Studio 2015 RC 及 Windows 10 10069 SDK 环境下,若以后有任何变更,请以新的特性为准. 十一.x:Bind 中使用强制转换 这点是 ...

  6. what is HTTP OPTIONS verb

    The options verb is sent by browser to see if server accept cross origin request or not, this proces ...

  7. 解决由AJAX请求时forms认证实效的重新认证问题

    前言: 当用AJAX请求一个资源时,服务器检查到认证过期,会重新返回302,通过HTTP抓包,是看到请求了登录页面的,但是JS是不会进行跳转到登录页面. 使用环境: ASP.NET MVC 4 JQU ...

  8. Python - 更改pip源至国内镜像

    永久使用 [windows] 在用户名目录下创建一个目录 C:\Users\xxx\pip [linux] ~/.pip/pip.conf 新建pip.ini [global] index-url = ...

  9. 【TFS错误】TF30063: 您没有访问 Microsoft-IIS/8.5 的权限

    问题现象 开发人员报告,所有的生成都失败了,日志显示下载源代码出错,系统提示错误信息为"-TF30063: 您没有访问 Microsoft-IIS/8.5 的权限-". 图1 - ...

  10. 设计模式之模版方法模式(Template Method Pattern)

    一.什么是模版方法模式? 首先,模版方法模式是用来封装算法骨架的,也就是算法流程 既然被称为模版,那么它肯定允许扩展类套用这个模版,为了应对变化,那么它也一定允许扩展类做一些改变 事实就是这样,模版方 ...