OpenGrok是专门的源码阅读工具在针对特大型源码时,比如 AOSP 和 Chromium,就需要祭出专门的源码阅读工具。 OpenGrok 属于另一类,免费,开源,运行流畅,功能也毫不逊色,该工具环境搭建和使用感觉很简单,但最近搭建的过程中遇到各种问题,直到怀疑人生,经历各种磨难最后终于可以到流程使用的程度,特此记录一方面为自己备忘,另一方面希望可以给需要搭建环境的人一些帮助,快速完成,避免重复采坑。
Requirements: https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok
1. JDK 1.8 or higher
2. OpenGrok ”’binaries”’ from https://github.com/OpenGrok/OpenGrok/releases
3. A servlet container like GlassFish or Tomcat 8.0 or later also running with Java at least 1.8
4. a recent browser for clients - IE, Firefox, recent Chrome or Safari
5. Optional tuning (see https://github.com/oracle/opengrok/wiki/Tuning-for-large-code-bases)
平台配置
Linux系统版本:
$ uname -a
Linux mychain-xiaotian-01.inc.net 3.10.0-327.ali2010.rc7.alios7.x86_64 #1 SMP Thu Jun 29 21:45:21 CST 2017 x86_64 x86_64 x86_64 GNU/Linux
ctags版本:
$ ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Jun 9 2015, 21:42:14
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
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”及以上版本
3. 在 .bash_prifile中配置JAVA_HOM为安装目录
########--java environment setting--#######
export JAVA_HOME="/opt/yaozhongxiao/java"
2. Tomcat环境配置
- 从 https://tomcat.apache.org/download-90.cgi 下载tomcat9.0版至/opt/yaozhongxiao/apache-tomcat-9.0.10.tar.gz
- 解压至/opt/yaozhongxiao/apache-tomcat-9.0.10
- 为Tomcat 设置CATALINA_HOME环境变量
########--java environment setting--#######
export CATALINA_HOME="/opt/yaozhongxiao/apache-tomcat-9.0.10"
- 为Tomcat 设置CATALINA_HOME环境变量
- 启动(关闭)tomcat
bash /opt/yaozhongxiao/apache-tomcat-9.0.10/bin/startup.sh
Using CATALINA_BASE: /opt/yaozhongxiao/apache-tomcat-9.0.10
Using CATALINA_HOME: /opt/yaozhongxiao/apache-tomcat-9.0.10
Using CATALINA_TMPDIR: /opt/yaozhongxiao/apache-tomcat-9.0.10/temp
Using JRE_HOME: /opt/yaozhongxiao/java
Using CLASSPATH: /opt/yaozhongxiao/apache-tomcat-9.0.10/bin/bootstrap.jar:/opt/yaozhongxiao/apache-tomcat-9.0.10/bin/tomcat-juli.jar
Tomcat started.
在浏览器中输入 http://11.166.24.150:8080/检查tomcat是否正常启动
* (如果报404错误,可能是端口被禁止,可以通过iptables命令检查和开放端口访问)
3. 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