1 OpenGrok介绍
OpenGrok 是一个快速, 便于使用的源码搜索引擎与对照引擎, 它能够帮助我们快速的搜索、定位、对照代码树. 接下来就具体讲解一下 OpenGrok 的安装及使用.
2 安装OpenGrok
所需依赖Requirements
You need the following:
JDK 1.8 or higher java 版本需要1.8或者更高的
OpenGrok '''binaries''' from https://github.com/OpenGrok/OpenGrok/releases (.tar.gz file with binaries, not the source code tarball !)下载的包要是二进制的包,不是源码包,源码包你还要编译的。
https://github.com/universal-ctags for analysis (avoid Exuberant ctags, they are not maintained anymore)
需要 universal-ctags 命令的 (ctags貌似有2个流派吧. Exuberant Ctags 和 ctags-universal )
A servlet container like GlassFish or Tomcat 8.0 or later also running with Java at least 1.8
需要servlet容器,推荐,也是我们常用的是tomcat,目前可以使用tomcat8了。或者tomcat 使用docker来 docker pull tomcat:9.0
If history is needed, appropriate binaries (in some cases also cvs/svn repository) must be present on the system (e.g. Subversion or Mercurial or SCCS or ... )
如果浏览代码索引的时候,想看代码的 历史记录。例如代码是git管理的,你的环境也要安装git的。
2GB of memory for the indexing process (bigger deployments will need more)
内存比较消耗的,代码很多的情况内存要大。要设置-Xmx参数的.
a recent browser for clients - IE, Firefox, recent Chrome or Safari
Optional tuning (see https://github.com/oracle/opengrok/wiki/Tuning-for-large-code-bases)
一个客户端浏览器。IE浏览器,火狐浏览器,谷歌浏览器,Safari浏览器。这不是废话嘛.......
安装JAVA运行环境
OpenGrok 是基于 JAVA 的, 因此我们首先需要 JDK 和 JRE 来支持其运行
新版本的opengrok需要jdk8了
Latest Java 1.8
安装Web服务器-Tomcat
#Ubuntu14.04 的源中已经提供了Tomcat 7 的包
sudo apt-get install tomcat7
# 如果是16.04 可以安装tomcat8了。
安装OopenGrok
从https://github.com/OpenGrok/OpenGrok/releases 下载最新的安装包,注意下载的是二进制包
而不是源码包。解压放到固定位置上。
例如 安装到 /opengrok 目录下面. 类似于opengrok的home目录了.
首选新建几个目录
mkdir /opengrok/{src,data,dist,etc,log} # The indexer will need to write to /opengrok/{data,log} and the web application will need to be able to read from /opengrok/{src,etc,data}
解压安装包
tar -C /opengrok/dist --strip-components=1 -xzf opengrok-X.Y.Z.tar.gz
配置logger文件
cp /opengrok/dist/doc/logging.properties /opengrok/etc
下载android代码
cd /opengrok/src
git clone https://github.com/githubtraining/hellogitworld.git
git clone https://github.com/OpenGrok/OpenGrok
安装indexer相关工具. 采用第二种方式比较好.
第1种方式,
python3 -m pip install opengrok_tools.tar.gz
第2种方式,
cd /opt/opengrok
python3 -m venv opengrok-tools
opengrok-tools/bin/python -m pip install opengrok_tools.tar.gz
部署 source.war 到 tomcat 下面
opengrok-deploy -c /opengrok/etc/configuration.xml \
/opengrok/dist/lib/source.war /var/lib/tomcat8/webapps
例如:
opengrok-deploy -c dat_root/ctags/etc/configuration.xml source.war tomcat/webapps/ctags.war
创建索引
opengrok-indexer \
-J=-Djava.util.logging.config.file=/opengrok/etc/logging.properties \
-a /opengrok/dist/lib/opengrok.jar -- \
-c /usr/local/bin/ctags \
-s /opengrok/src -d /opengrok/data -H -P -S -G \
-W /opengrok/etc/configuration.xml -U http://localhost:8080/source
or
java \
-Djava.util.logging.config.file=/opengrok/etc/logging.properties \
-jar /opengrok/dist/lib/opengrok.jar \
-c /usr/local/bin/ctags \
-s /opengrok/src -d /opengrok/data -H -P -S -G \
-W /opengrok/etc/configuration.xml -U http://localhost:8080/source
例如:
opengrok-indexer \
-J=-Djava.util.logging.config.file=opengrok/doc/logging.properties \
-a