Ubuntu搭建OpenGrok环境阅读Linux内核源代码(2)

接下需要更改 apache-tomcat/webapps/source/WEB-INF 目录下的web.xml配置文件

<context-param> <param-name>CONFIGURATION</param-name> <param-value>/opt/opengrok/etc/configuration.xml</param-value> <description>Full path to the configuration file where OpenGrok can read it's configuration</description> </context-param>

配置 configuration.xml 的路径为 opengrok/etc 配置目录

提示

实验发现这个xml不配置也是可以正常使用的

2.5 建立源码索引

下面我们就需要为我们的源码配置索引了, OpenGrok 生成源代码的索引信息

设置的话需要如下环境变量

环境变量描述默认值
SRC_ROOT   待生成索引的源代码路径   ${OPENGROK_INSTANCE_BASE}/src  
DATA_ROOT   存放生成的索引的路径   ${OPENGROK_INSTANCE_BASE}/data  

那么我们直接在 opengrok 的安装目录 /opt/opengrok 下创建 src 和 data目录即可

但是我为了方便管理, 建立了一个 database 二级目录, 将 src 和 data 放在这个二级目录里面.

源代码���索引目录

为了使得环境变量能够正确识别, 我们可以修改 OpenGrok 脚本的源代码, 重置 SRC_ROOT 和 DATA_ROOT 的值.

# 修改/opt/opengrok/bin/OpenGrok SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src" 改为 SRC_ROOT="${OPENGROK_INSTANCE_BASE}/database/src" DATA_ROOT="${OPENGROK_INSTANCE_BASE}/data" 改为 DATA_ROOT="${OPENGROK_INSTANCE_BASE}/database/data"

但是由于我已经在 mysetenv.sh 中设置了 SRC_ROOT 和 DATA_ROOT 的值, 因此我是这么修改的

if [ ! -n "${SRC_ROOT}" ]; then # REQUIRED: Source Code/Repository Root # (your source code or the root of all repositories) SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src" fi if [ ! -n "${DATA_ROOT}" ]; then # REQUIRED: OpenGrok Generate Data Root # (for Lucene index and hypertext cross-references) # This area is rebuilt by "update" / "updateQuietly" DATA_ROOT="${OPENGROK_INSTANCE_BASE}/data" fi

接着我们将需要索引的源码放在 src 目录下即可, 当然我们其实没必要把源码真的放到这里, 只需要为其创建一个链接即可

cd /opt/opengrok/database/src ln -s /usr/src/linux-4.4.6 4.4.6

将需要索引的源码放在 <code>src</code> 目录下

生成索引

#./OpenGrok index

指定SRC_ROOT

./OpenGrok index <absolute_path_to_your_SRC_ROOT>

接着我们打开

:8080/source

就可以看到我们的源代码了

运行结果

运行结果

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14768.html