OpenGrok环境搭建

1,882 阅读2分钟

简介

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/ 看看效果。

image.png

  • 建议空闲时刻跑, 因为真的很吃CPU。