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. Spring MVC深入讲解

    一.前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了.Spring3 MVC结构简单,应了那句话简单就是美,而 ...

  2. EBS Webservice Timeout,HTTP Server Return "500 Internal Server Error"

    http://blog.itpub.net/26687597/viewspace-1207571/ 基于Oracle EBS R12,开发了一个Webservice用于返回某项主数据,当请求的数据量非 ...

  3. 如何将Jenkins multiline string parameter的多行文本优雅的保存为文件

    [现象]: 使用multi-line string parameter获取的文本变量,在jenkins shell里面显示为单行文本(空格分割). [问题]:能否转换为多行文本,并存入文件. [解决方 ...

  4. ASP.Net C#---Excel导入导入后台方法

    https://www.cnblogs.com/chendaye/p/10693983.html  这里写了Excel的导入导入方法, 后台我用的是MVC 以及 C#语句用来在后台做接受和输出数据 / ...

  5. c# 输入多个数字,当输入不是数字时显示出刚输入的所有数并按降序

    输入多个数字,当输入不是数字时显示出刚输入的所有数并按降序 class Program { static void Main(string[] args) { //定于一个集合 List<int ...

  6. js中的基本类型与引用类型学习

    一.基本数据类型 ECMAScript 有 5 种原始类型(primitive type),即 Undefined.Null.Boolean.Number 和 String,也称为基本数据类型,ES6 ...

  7. SPOJ Longest Common Substring II

    题目连接:戳我 题目大意:求n个字符串的最长公共子串. 它的简化版--这里 当然我们可以用SA写qwq,也可以用广义SAM写qwq 这里介绍纯SAM的写法...就是对其中一个建立后缀自动机,然后剩下的 ...

  8. Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'img' at row 1故障

    Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'img' at ro ...

  9. 900. RLE Iterator

    Write an iterator that iterates through a run-length encoded sequence. The iterator is initialized b ...

  10. spring boot 使用application.properties 进行外部配置

    application.properties大家都不陌生,我们在开发的时候,经常使用它来配置一些可以手动修改而且不用编译的变量,这样的作用在于,打成war包或者jar用于生产环境时,我们可以手动修改环 ...