ubuntu16.04搭建openGrok

 

参考link:Opengrok环境搭建--阅读Android源码

1.安装tomcat8

 sudo apt-get install tomcat8
 sudo /etc/init.d/tomcat8 restart   //重启tomcat8

浏览器中打开http://localhost:8080/,出现下图说明tomcat8没问题。


//控制服务
sudo /etc/init.d/tomcat8 start
sudo /etc/init.d/tomcat8 stop
sudo /etc/init.d/tomcat8 restart

 

2.安装universal-ctags
不要再使用 Exuberant ctags,因为已经不再维护更新,对于新版本的Opengrok支持度不好,所以先卸载掉:
sudo apt-get remove --purge exuberant-ctags

github地址:https://github.com/universal-ctags/ctags
下载完成后,进入ctags文件夹,依次执行以下命令,完成编译和安装:

sudo apt install autoconf
cd /tmp
git clone https://github.com/universal-ctags/ctags     //下载zip解压出来的autogen.sh之类文件的权限不对,建议这种方式,也可以把所有文件设置为777试下
cd ctags
./autogen.sh
./configure --prefix=/opt/software/universal-ctags  # 我的安装路径。就使用这个,后面索引就是这个路径
make -j8
sudo make install


3.安装openGrok

下载地址:https://github.com/oracle/opengrok/releases   //我使用的是opengrok-1.2.23.tar.gz,使用tar -zxvf opengrok-1.2.23.tar.gz  -C ~ 解压(-C解压到指定目录)


我这里解压在这个目录 cd ~/software/opengrok/opengrok-1.2.23(~/software)

cd ~/software/opengrok/opengrok-1.2.23
mkdir src data etc    //src 源码路径   // etc 配置    //data 索引


b. 指定android源码位置
原本需要把源码放到src下,因为我的android源代码放在了~/software/src/,没必要把它整个移动到src下,所以在src下建了个enginner的软连接指向它:

cd ~/software/opengrok/opengrok-1.2.23/src
ln -s ~/software/src/ enginner  (~/software/src/ : 需要链接的源码路径  enginner : src下的链接  )


ubuntu@ubuntu:~/software/opengrok/opengrok-1.2.23/src$ ll
总用量 8
drwxrwxr-x  2 ubuntu ubuntu 4096 7月   3 14:34 ./
drwxrwxr-x 10 ubuntu ubuntu 4096 7月   3 14:54 ../
lrwxrwxrwx  1 ubuntu ubuntu   28 7月   3 14:34 enginner -> ~/software/src//

复制source.war到tomcat中:(不用解压,会自动解压)

cp ~/software/opengrok/opengrok-1.2.23/lib/source.war /var/lib/tomcat8/webapps/
ubuntu@ubuntu:~/software/opengrok/opengrok-1.2.23$ sudo cp -rf source.war /var/lib/tomcat8/webapps/


d. 配置CONFIGURATION:
在/var/lib/tomcat8/webapps/source/WEB-INF/web.xml中修改configuration.xml的路径,

$ gedit /var/lib/tomcat8/webapps/source/WEB-INF/web.xml
    
        Full path to the configuration file where OpenGrok can read its configuration
        CONFIGURATION
        ~/software/opengrok/opengrok-1.2.23/etc/configuration.xml  //自己创建的etc路径
    

e. 重启Tomcat,在浏览器中输入 http://IP地址:8080/source,已经可以看到Opengrok的雏形,不过会有一个错误,是因为还未建立索引,所以configuration.xml还没生成,先不用关注:
http://10.100.xxx.xxx:8080/source
http://localhost:8080/source/


//提示信息如下
CONFIGURATION parameter has not been configured in web.xml! Please configure your webapp.
Unable to determine source root path. Missing configuration?

 

4.创建索引

//使用此命令来创建索引,具体文件键附件openGrok.sh

java -Xmx8g -jar ~/software/opengrok/opengrok-1.2.23/lib/opengrok.jar \
    -c /opt/software/universal-ctags/bin/ctags \
    -s ~/software/src \
    -d ~/software/opengrok/opengrok-1.2.23/data -H -P -S -G -v \
    -W ~/software/opengrok/opengrok-1.2.23/etc/configuration.xml \
    -U http://localhost:8080/source \
    -m 256


#-Xmx8g:配置Java 最大堆内存为8g,防止内存溢出。
#-jar:指定opengrok.jar包。
#-c:指定universal-ctags的路径,configure配置的路径,此时使用which ctags得到的路径是/usr/bin/ctags,是会报错的
#-s:指定源码路径,就是上面的新建的src。
#-d:指定索引文件存放路径,就是上面新建的data。
#-W:指定configuration.xml的路径,就是上面新建的etc。
#-m:指定opengrok索引时的缓存大小,默认只有16M。

把如上命令写入openGrok.sh,使用./openGrok.sh运行就可以


 

你可能感兴趣的:(工具)