opengrok是看代码的利器,主页为
下载和设置页面为:
https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok
我用它来看android代码,创建index的命令为:
java \
-Xmx2g \
-d64 \
-server \
-jar opengrok.jar \
-d /home/john/workspace/software/installed/opengrok/index-data/source-index \
-P \
-H \
-S \
-G \
-s /home/john/workspace/android/android-source-code \
-U http://localhost:8080/source \
--verbose \
-W /home/john/workspace/software/installed/opengrok/opengrok-1.1-rc41/etc/configuration.xml
要注意下,
我设置的java heap为2G,我的电脑内存是4G。由于Android代码比较大,设置小于2G可能会提示缺少内存;设置太大的话,电脑上其他的应用可能会缺少内存;2G内存对于Android代码够用了。
虽然在创建index的时候,指定了configuration.xml的路径,但是每次重启tomcat8 service后,原来设置的configuration.xml的路径被覆盖了,它的默认的路径是:
<param-value>/var/opengrok/etc/configuration.xml</param-value>
所以,在这个路径下面创建了软链接到创建index时候的configuration.xml的路径
sudo mkdir -p /var/opengrok/etc/
cd /var/opengrok/etc/
ln \
-s /home/john/workspace/software/installed/opengrok/opengrok-1.1-rc41/etc/configuration.xml \
configuration.xml
我不知道是否其他的tomcat也有这个问题,附上我的tomcat8的版本信息:
john@john-ThinkPad-Edge-E435:/usr/share/tomcat8/bin$ ./catalina.sh version
Using CATALINA_BASE: /usr/share/tomcat8
Using CATALINA_HOME: /usr/share/tomcat8
Using CATALINA_TMPDIR: /usr/share/tomcat8/temp
Using JRE_HOME: /home/john/workspace/software/installed/jdk1.8.0_181/jre
Using CLASSPATH: /usr/share/tomcat8/bin/bootstrap.jar:/usr/share/tomcat8/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.5.30 (Ubuntu)
Server built: Aug 13 2018 20:23:56 UTC
Server number: 8.5.30.0
OS Name: Linux
OS Version: 4.15.0-34-generic
Architecture: amd64
JVM Version: 1.8.0_181-b13
JVM Vendor: Oracle Corporation
- 创建index的时候要加上-P 参数,不然不能选择project。