Opengrok实践,踩坑才能避坑

发布于:2023-01-17 ⋅ 阅读:(940) ⋅ 点赞:(0)

如果你的项目需要检索源码,那么用Opengrok时不错的选择! 

Opengrok是开源的,java开发,如果是java开发的小伙伴,可以很方便的进行二次开发~~~

下面先来说说Opengrok的部署:(这部分还是很多文章有写的,随便搜搜都能找到)

需要环境:

1、jdk11及以上

        https://pan.baidu.com/s/1q-c9latzNBLPldJA2j1AMQ?pwd=0b39

        提取码:0b39

2、idea2020.3及以上(如果只需要部署使用,不需要二次开发的话不需要跑源码的话,可以不需要这一条件)

https://pan.baidu.com/s/1JQZ7uzEIQhuqWLQssp-DdA?pwd=0icg

提取码:0icg

3、tomcat10

  https://pan.baidu.com/s/1yqjySQpmNEtsxCLAXdU2cA?pwd=0oub

 提取码:0oub

4.ctags

https://pan.baidu.com/s/1Cqn2XL0wuSQ6oqSVhG-vnw?pwd=25wa
提取码:25wa

需要idea2020.3.4的激活补丁 https://download.csdn.net/download/duanjunkaisky/86401048

如果不需要部署源码的话,直接就可以开始部署了!!!其他的1、3、4步骤,是必须提前安装好的哦~~~

1、首先去 opengrok官网 下载opengrok.zip包

2、解压缩,得到:

source.war包是需要部署到tomcat的

opengrok-1.7.35.jar 是每次更新索引的时候,都需要执行的jar包 

部署步骤:

1、将source.war包拷贝到tomcat的webapps目录下,再回到tomcat的bin,目录执行 catalina.sh start,启动tomcat,这个时候会报错,提示cofiguration.xml找不到,先不要管它,因为还未创建索引

2、执行opengrok-1.7.35.jar,开始创建索引

java -jar D:\opengrok-1.7.35\lib\opengrok.jar -c D:\ctags58\ctags.exe -s D:\opengrok\projects -d D:\opengrok\data -W D:\opengrok\data2\configuration.xml -U http://localhost:8080/source

执行第二部的这个指令,就生成了D:\opengrok\data\configuration.xml以及D:\opengrok\data 目录下的数据文件

3、然后再重启tomcat,就可以正常访问 http://localhost:8080/source了

每次有新的源码项目,就复制到   D:\opengrok\projects ,然后必须要重新执行 第二步,java -jar ....,创建索引之后,再 http://localhost:8080/source 才能访问!!

踩坑:

1、执行 java -jar D:\opengrok-1.7.35\lib\opengrok.jar -c D:\ctags58\ctags.exe -s D:\opengrok\projects -d D:\opengrok\data -W D:\opengrok\data2\configuration.xml -U http://localhost:8080/source 报错:

 出现这个错误,是因为 ctags的版本不对,你可以  D:\ctags58\ctags.exe --help看下输出

 Exuberant Ctags 而 opengrok.jar中对于ctags的校验代码是:

必须是  Universal版本的ctags才行,所以你需要去找这个对应的版本的ctags。。。

或者修改这块源码之后再打包,我没有去找另外的ctags,ctags官网给的就是这个版本,没办法我就选择改源码再打包了

源码编译打包的时候,也有许多坑~~~我也都踩完了哈~  遇到问题可以私信我或者留言,帮你避坑,哈哈

最后再附上我本地的基于源码,可以二次开发的部署截图:

后端:

 前端:

 

做到这里的话,基本上可以基于opengrok的源码,做任何你想做得事咯,基于此开始二次开发!

类似于 定时更新索引啊,增量更新索引啊 这些很必要的功能都可以自己实现了

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到