OpenGrok搭建方法
OpenGrok简介
OpenGrok为一个方便快速的源码搜索及交叉引用查询引擎。它以Java编写,可用于源码搜索、交叉引用查询、以及源码树定位。它支持多种编码语言和多种代码版本控制引擎系统。OpenGrok提供了如下这些功能:
快速的源码搜索引擎:
可搜索全文、定义、符号、路径和版本历史
限定子目录树进行搜索(分层搜索)
增量更新索引,如:仅更新从上次更新后修改过的文件
以类Google搜索语法进行查询,如: path:Makefile defs:target等
搜索指定日期范围内修改过的文件
支持使用通配符*和?进行搜索
在搜索结果中显示匹配行
为版本控制系统,如Mercurial、CVS、SVN、SCCS或TeamWare等提供了只读的Web接口:
文件历史日志;
以udiffs或sdiffs显示两个版本之间的差异;
以RSS格式显示自定目录的累积日志
具有语法高亮功能的在线交叉索引,以CSS样式表提供的高可定制的外观;
可以为新的编程语言或版本控制系统编写新的插件;
OpenGrok环境搭建 - 简书
OpenGrok is a fast and usable source code search and cross reference engine, written in Java. It helps you search, cross-reference and navigate your source tree. It can understand various program file formats and version control histories of many source code management systems.
Official page of the project is on: {OpenGrok by OpenGrok/
准备的资源
JAVA 11
apache-tomcat-10.0.8.tar.gz
ctags-master.zip
opengrok-1.7.13.tar.gz
其他相关工具,遇到缺少时安装即可。
步骤
安装java 11
ubuntu下直接apt install即可
add-apt-repository ppa:linuxuprising/java apt update apt-get install openjdk-11-jdk
安装ctags
下载源码包并解压后
# https://github.com/universal-ctags/ctags ./autogen.sh ./configure make & make install
安装tomcat10
将归档文件解压 Index of /dist/tomcat/tomcat-10/v10.0.8/bin/
使用
apache-tomcat-10.0.8/bin/catalina.sh
脚本及start/stop/restart
启动关闭或者重启tomcat服务在浏览器中输入网址http://localhost:8080若能显示tomcat的界面即表示启动成功
安装opengrok
建立以下目录 https://github.com/oracle/opengrok/releases/tag/1.7.13
mkdir opengrok/{src,data,dist,etc,log}
以上目录要保证web app有写的权限,如无特殊禁忌,可以设为777
将归档文件解压到dist
tar -C opengrok/dist --strip-components=1 -xzf opengrok-X.Y.Z.tar.gz
配置
tomcat配置
将日志配置文件由解压目录拷贝到新建目录,之后log会输出到
opengrok/logs
cp opengrok/dist/doc/logging.properties opengrok/etc
log的配置参考
handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler java.util.logging.FileHandler.pattern = /opengrok/log/opengrok%g.%u.log java.util.logging.FileHandler.append = false java.util.logging.FileHandler.limit = 0 java.util.logging.FileHandler.count = 30 java.util.logging.FileHandler.level = ALL java.util.logging.FileHandler.formatter = org.opengrok.indexer.logger.formatter.SimpleFileLogFormatter java.util.logging.ConsoleHandler.level = WARNING java.util.logging.ConsoleHandler.formatter = org.opengrok.indexer.logger.formatter.SimpleFileLogFormatter org.opengrok.level = FINE
将解压出来的
opengrok/dist/lib/source.war
拷贝到apache-tomcat-10.0.8/webapps/
目录,之后tomcat会自动识别.war
文件,并将其解压到apache-tomcat-10.0.8/webapps/
目录,文件夹名称为apache-tomcat-10.0.8/webapps/source
再次打开浏览器,输入网址http://10.183.154.165:8080/source,会发现显示一堆错误,原因是我们还没建立索引
便捷apache-tomcat-10.0.8/webapps/source/WEB-INF/web.xml,主要配置opengrok的配置文件路径,示例如下
<context-param><description>Full path to the configuration file where OpenGrok can read its configuration</description><param-name>CONFIGURATION</param-name><param-value>/usr/local/opengrok/etc/configuration.xml</param-value></context-param
opengrok配置
将工程源码准备好,通过在
opengrok/src
目录下建立软链接的方式加入代码ln -s /cloud/workspace/ivi ivi
此方式可以加入多个工程,进而形成多工程检索
生成索引
java \-Djava.util.logging.config.file=/opt/opengrok/etc/logging.properties \-jar /opt/opengrok/dist/lib/opengrok.jar \-c /usr/local/bin/ctags \-s /opt/opengrok/src -d /opt/opengrok/data -H -P -S -G \-W /opt/opengrok/etc/configuration.xml -U http://localhost:8080/source
索引建立的时间比较长,中间的warning可以先不管,索引建立完成后再次打开url即可使用opengrok查找。
opengrok tools安装
文件路径opengrok/dist/tools/opengrok-tools.tar.gz
文件夹下有个README.txt
,是安装引导。
一定要设置好计算云的代理,要不然手动安装python包会累死,手动安装了10几个包后,找到了设置办法,pip的设置如下:
# cat .pip/pip.conf [global] trusted-host=mirrors.tools.huawei.com index-url=http://mirrors.tools.huawei.com/pypi/simple/
之后直接运行下面的命令就OK了
python3 -m pip install opengrok-tools.tar.gz
其他事项
opengrok的配置项
通过命令可获取到帮助
java -jar /opt/opengrok/dist/lib/opengrok.jar --help
有用的配置
-P
表示为 source root 目录下的每个一级子目录生成一个工程。
-d
表示指定 data root
-W
表示指定将配置写到该文件
多工程
通过-P
选项和src目录下多个链接可以实现
索引刷新
中文乱码
可以修改apache-tomcat-10.0.8/webapps/source/WEB-INF/web.xml
文件指定编码格式
参考链接
opengrok官网
How-to-setup-OpenGrok
OpenGork官方WIKI
OpenGrok搭建笔记
计算云搭建opengrok
ubuntu16.04搭建openGrok
Opengrok的安装及配置
OpenGrok搭建方法相关推荐
- RabbitMQ的安装及集群搭建方法
转自:http://blog.csdn.net/u013256816/article/details/53524766 RabbitMQ安装 1 安装erlang 下载地址:http://www.er ...
- Docker 私有仓库最简便的搭建方法
http://blog.csdn.net/wangtaoking1/article/details/44180901/ Docker学习笔记 - Docker私有仓库搭建 http://www.jia ...
- 数据采集埋点福音!《企业埋点体系搭建方法论及实践经验》白皮书上线
<企业埋点体系搭建方法论及实践经验>白皮书,依托神策数据服务的 1000 余家企业客户的数据采集实战经验,全面展示神策数据所沉淀的企业数据采集埋点的最佳实践,同时围绕企业在埋点过程中所遇到 ...
- 重磅 |《企业埋点体系搭建方法论及实践经验》白皮书上线
<企业埋点体系搭建方法论及实践经验>白皮书,依托神策数据服务的 1000 余家企业客户的数据采集实战经验,全面展示神策数据所沉淀的企业数据采集埋点的最佳实践,同时围绕企业在埋点过程中所遇到 ...
- Redis Cluster搭建方法简介22211111
Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼ Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅功能,官方声 ...
- Selenium Grid的搭建方法
一.什么是Selenium Grid Selenium Grid 是一种可以并发执行 GUI 测试用例的测试执行机的集群环境,分为 HUB 和 Node 模式.Selenium Hub 用来管理各个 ...
- 竞价推广经验分享 账户的搭建方法
最近很多朋友都在咨询我账户搭建的问题,为了帮助这些朋友能尽快上手,今天我们今天先讲一下百度推广账户的搭建,一个好的账户结构,对我们的账户质量度影响是非常大的,然而一些竞价猿都会忽略这一点.根据我在网络 ...
- 微信局域网测试环境搭建方法
微信局域网测试环境搭建方法 微信现在越来越火,很多人想自己研究一下微信开发,但在开发平台认证的时候,必须通过80端口认证. 很多的宽带服务商把公司宽带的80端口封了, 而微信开发模式中服务器配置要求填 ...
- Debian本地源的搭建方法
一些自己开发或者修改的debian程序,如果想使用apt-get工具进行安装的话,需要自己搭建debian软件源,本文简要介绍一下搭建方法. 目录结构: buildd@debian:~/debian- ...
最新文章
- 自然语言模型算法太杂乱?国产统一 AI 开源框架来了
- 简易的阻尼滚动条的插件
- leetcode day1 -- Reverse Words in a String Evaluate Reverse Polish Notation Max Points on a Li
- Flex通用克隆(clone)方法
- boost::geometry::tuples用法的测试程序
- Windows下Oracle的下载与安装
- springboot接收浏览器发送delete请求( method not allowed 405解决方法)
- 20 SD配置-主数据-定义客户账户组
- [HTML5]使用Box2dWeb模拟飞行箭矢
- c++ 数组指针和指针数组
- camvid数据集使用方法_github资源推荐:目标姿态检测数据集与渲染方法
- (2)量化交易学习-股票数据下载
- 概念理解:财新服务业PMI
- 国内千万级手机端视频互动娱乐直播完整源码
- ac68无线网卡 linux驱动下载,华硕USB-AC68驱动|华硕USB-AC68无线网卡驱动下载 v2.1.2.1官方版 - 121下载站...
- SEO推广技术是什么意思?SEO是什么职业?
- [推荐]php编码规范
- 几个不错的extjs的blog
- 浅谈使用Word和Baklib制作帮助文档区别
- CSAPP实验记录(2)--------- Bomb