opengrok 优秀的代码阅读器
linux下面阅读代码的工具比较少,一般都是IDE,vim + ctags 也不错,不过用着总有些不顺手。
搜了一下,发现还有woboq, LXR(Linux Cross Reference), opengrok 这类网页端的,LXR搭建起来比较麻烦,所以尝试了一下opengrok,感觉不错,这里记录一下搭建的流程(凭着记忆来的,可能会稍微有点问题)。
安装JAVA
首先安装java,先去官网下载jdk,一般解压打/usr/java
就可以了, 然后添加相应的环境变量(自己修改相应的path).
export JAVA_HOME=/usr/java/jdk1.8.0_73
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
安装tomcat
之后去tomcat官网下载tomcat, 并解压。我解压到了/usr/local
里面,启动和关闭tomcat很简单,path/to/tomcat/bin
下有启动和关闭的脚本(根据名字分辨,一个叫startup.sh, 另一个是 shutdown.sh)。
访问ip:8080
,如果出现tomcat的界面就是安装成功了。
安装opengrok
去opengrok观望下载它的安装包,同样只是一个压缩包,随便解压到一个地方就可以了。比如/usr/opengrok
。
压缩包里面有个source.war,在/usr/opengrok/lib
下面,直接扔到path/to/tomcat/webapps
目录下就可以了,之后访问ip:8080/source
就是opengrok的默认页面。
那怎么对代码进行索引等操作呢?
opengrok默认源代码处理的位置是在/var/opengrok/src
里面(当然也可以改变位置,具体详见参数),创建/var/opengrok/src
一系列的目录,把你的源代码解压到里面,安装好ctags,然后在path/to/opengrok/bin
目录运行./Opengrok index
,等一段时间,数据就处理好了。
之后添加一个环境变量,OPENGROK_TOMCAT_BASE
,变量内容是你的tomcat文件夹的位置,然后运行./Opengrok deploy
, 重启tomcat,再次访问ip:8080/source
就可以看到已经处理好的代码了。
默认opengrok的背景是白色的,感觉比较伤眼睛,对此可以在浏览器安装一个夜间模式的插件,也可以到/usr/local/tomcat/webapps/source/default
目录下修改style.css
这个文件,把body->background-color
的值改为浅绿色即可,#B9DABD
。
如果是重要代码,可以按照这里给opengrok加上LDAP验证,也可以让tomcat监听127.0.0.1
,然后用nginx反代,在nginx上加上basic-auth即可。