OpenGrok安装和配置

OpenGrok是跨平台、开源免费的源码阅读工具。OpenGrok生成源码的索引,Apache Tomcat提供Web服务,用户即可在浏览器中阅读代码,使用体验可以去这里。Linux下好用的源码阅读工具极少,OpenGrok可以一试。

本文是一篇没有技术含量的笔记,之所以贴出来是因为我找到的其它教程都失效了。

部署OpenGrok之前需安装如下软件:

  • JDK 1.8或以上
  • universal-ctags
  • Tomcat 8,请参考这里非常重要的步骤,请认真执行每一步,一定要执行配置systemd那步

在OpenGrok的Github项目主页下载二进制安装包,当前最新的稳定版本为1.1。解压安装包到/opt/opengrok目录下即可。OpenGrok安装目录下的source.war文件很重要,Tomcat检测到该配置文件后部署应用。如果遵从默认配置,不需修改,直接拷贝到Tomcat的安装目录下:

1
$ sudo cp /opt/opengrok/lib/source.war /opt/tomcat/webapps

源码目录和索引目录默认存放在/var/opengrok下,建立如下文件夹:

1
2
3
$ mkdir -p /var/opengrok/data
$ mkdir -p /var/opengrok/src
$ mkdir -p /var/opengrok/etc

将源码文件夹都放在src目录下,运行下面的命令生成索引:

1
2
3
4
5
$ java -Djava.util.logging.config.file=/var/opengrok/logging.properties \
-jar /opt/opengrok/lib/opengrok.jar \
-c /usr/bin/universal-ctags \
-s /var/opengrok/src -d /var/opengrok/data -H -P -S -G \
-W /var/opengrok/etc/configuration.xml -U http://localhost:8080

可以看到data目录下有文件生成,即为索引文件。在浏览器中打开http://localhost:8080/source,应该就能阅读源码了。当src目录发生变化时,需重新运行上面的命令更新索引。