简介
OpenGrok一个快速、便于使用的源代码搜索与对照引擎。它帮助你搜索,对照,定位你的源代码树。它能够明白各种程序文件格式和版本控制历史记录,是OpenSolaris操作系统源文件浏览和搜索的工具。
安装
安装jdk 11
OpenGrok 当前最新版本是 opengrok-1.7.32,需要依赖 JDK。
sudo apt-get install openjdk-11-jdk
#如果本地存在多个jdk版本,请手动切换到jdk11
sudo update-alternatives --config java
#验证是否切换成功
java -version
配置环境变量:
# sudo vim ~/.bashrc #打开.bashrc添加JAVA环境变量
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
#保存后记得source
source ~/.bashrc
安装ctags
不能用exuberant-ctags,应该安装Universal ctags。
sudo snap install universal-ctags
安装tomcat
打开 tomcat 的官网网站,下载最新版本 tomcat 11。下载完成后解压,并启动tomcat。
#解压后拷贝到指定目录(目录自己定义)
sudo cp -r apache-tomcat-10.0.22 /media/k1/workspace/ #
cd /media/k1/workspace/apache-tomcat-10.0.22
#启动tomcat
sudo ./bin/startup.sh
启动成功后验证是否成功:在浏览器中输入:http://localhost:8080/
安装OpenGrok
打开OpenGrok 的 Github ,下载最新的 release 版本,下面以 opengrok-1.7.32.tar.gz 版本为例**。**
下载完成后解压后复制到指定位置,请不要放在系统盘,因为 OpenGrok 会根据你的源码生成索引文件,这个索引文件会很大。
cp opengrok-1.7.32 /media/k1/workspace/
# 在opengrok目录中创建src,etc,data,log文件夹备用
cd /media/k1/workspace/opengrok-1.7.32
mkdir {src,etc,data,log}
配置OpenGrok环境变量:
# sudo vim ~/.bashrc #打开.bashrc添加OpenGrok环境变量
export OPENGROK_TOMCAT_BASE=/media/k1/workspace/apache-tomcat-10.0.22
export CATALINA_HOME=/media/k1/workspace/apache-tomcat-10.0.22
export OPENGROK_APP_SERVER=source
export OPENGROK_INSTANCE_BASE=/media/k1/workspace/opengrok-1.7.32
export LANG=zh_CN.gb2312
#配置完成之后记得source
source ~/.bashrc
最后拷贝source.war到tomcat:
sudo cp /media/k1/workspace/opengrok-1.7.32/lib/source.war /media/k1/workspace/apache-tomcat-10.0.22 /webapps
添加源码并生成索引
通过软链接的方式将源码添加到opengrok的src目录中:
ln -s 源码绝对路径 .
生成索引(如果生成Android源码会很漫长):
cd /media/k1/workspace/opengrok-1.7.32
java -jar lib/opengrok.jar -P -S -v -s src -d data -W etc/configuration.xml
修改tomcat的web.xml, 将 CONFIGURATION 换成 opengrok 路径:
sudo gedit /media/k1/workspace/apache-tomcat-10.0.22/webapp/source/WEB-INF/web.xml
# 将CONFIGURATION的路径改成
<context-param>
<description>Full path to the configuration file where OpenGrok can read its configuration</description>
<param-name>CONFIGURATION</param-name>
<param-value>/media/k1/workspace/opengrok-1.7.32/etc/configuration.xml</param-value>
</context-param>
最后打开 http://localhost:8080/source/ 看看效果。
- 建议空闲时刻跑, 因为真的很吃CPU。