星期二 四月 24, 2007

OpenGrok : "A wicked fast source browser"

    今天向大家介绍一款超级快的源代码检索和交叉引用工具-OpenGrok

    opengrok

     OpenGrok全部用Java编写的,完全与平台无关。要使用OpenGrok,需要先安装以下软件:

    如果只是用于浏览源代码,则不需要最后两项。

    目前最新的opengrok是opengrok-0.4.tar.gz (4M) 。

    到网上找了半天,居然没有找到可以下载Opensolaris source code的地方,http://opensolaris.org/os/downloads/on/ 上的option 1和option 4给出的http连接里面就没有on-src文件,Option 2给的一个bittorrent文件又是"NOT FOUND",option 3: Mercurial简直太慢,另外一个subversion我就没有再试了。还好昨天收到了Starter kit,光盘上有,不用花精力去找了。

    在这里,我以在Opensuse 10.2上安装及配置 GlassFish + OpenGrok + OpenSolaris O/N source为例。(对于其它平台也类似,因为相关程序都是java编写的)。

    首先将源代码解压到一个目录,比如:/export/home/solsource/usr/src

[安装及配置opengrok]

    安装:tar zxvf opengrok-0.4.tar.gz

    run.bat/run-quiet.sh/run.sh可用于定时运行以更新源代码的索引文件(index database)。需要修改这些文件里面的路径(比如SRC_ROOT,DATA_ROOT等)以反映你的实际情况。

    由于我不会更新源代码,因此我只用调用一次opengrok.jar创建索引文件即可。

    opengrok.jar有两种调用模式:

  • 第一种,启用图形界面: java -jar opengrok.jar

    程序启动后,会显示一个主窗口

    OpenGrok Main Window
 

    点击'Search'文本框右面的文件夹图标打开一个新窗口,

    Index
 

    选择相应的'Search index data directory'和'Source tree directory',点击'update'按钮,此时会出现正在更新的信息和进度条,

   
 

    索引数据库更新完成后,会显示下面的信息。

   
 

    点击'Close'以返回主窗口。

    此时你就可以在相应文本框中输入关键字进行查找。双击查找结果就会打开一个文本编辑器(但是注意,在文本编辑器中就没有交叉引用及查找功能,如果你需要打开的每个文件都具有交叉引用的信息,那么你就需要继续下面的glassfish配置)

  • 第二种,命令行: java -jar opengrok.jar -s SRC_ROOT DATA_ROOT 

     SRC_ROOT和DATA_ROOT与第一种方式一样。

     为了配合glassfish的使用,需要修改source.war文件:

 

[安装及配置glassfish]

    glassfish

    从https://glassfish.dev.java.net/网站下载最新的glassfish,是一个后缀名为jar的软件包。用java程序安装此软件包:

    java -jar glassfish-installer-v2-b33e.jar

    会显示CDDL 1.0 License信息,回答'A',就会自动解包,当显示"installation complete",表示安装完成,此时在当前目录下会产生一个glassfish的目录。

    在设置glassfish之前,你需要设置以下环境变量:

 

  • JDK_HOME
  • JRE_HOME
  • JAVA_BINDIR
  • JAVA_HOME
  • JAVA_ROOT

    这些变量应该与你安装的最新的java的路径相对应。

    为了设置glassfish,我们还需要用ant工具。glassfish软件包自带了一个ant,在glassfish/lib/ant目录下面,因此我们要设置ANT_HOME指向这个glassfish/lib/ant(注意,这里只是相对路径,你要根据你的情况更改);另外我们还需要给$ANT_HOME/bin/ant加上执行权限。

    然后运行命令: $ANT_HOME/bin/ant -f setup.xml

    ant就会根据setup.xml进行编译。编译如果成功,会显示如下信息:

    BUILD SUCCESSFUL
    Total time: 35 seconds

    注意:你的编译时间可能有所不同。

    你可能已经注意到了编译过程中输出的缺省的端口号设置:

  create.domain:
     [exec] Option adminuser deprecated, use --user instead.
     [exec] Using port 4848 for Admin.
     [exec] Using port 8080 for HTTP Instance.
     [exec] Using port 7676 for JMS.
     [exec] Using port 3700 for IIOP.
     [exec] Using port 8181 for HTTP_SSL.
     [exec] Using default port 3820 for IIOP_SSL.
     [exec] Using default port 3920 for IIOP_MUTUALAUTH.
     [exec] Using default port 8686 for JMX_ADMIN.

     现在我们就可以启动web server。进入glassfish/bin目录,执行:./asadmin,

     Use "exit" to exit and "help" for online help.
     asadmin> 输入start-appserv

     当你看到如下信息时,表示appserver启动成功:

     Domain listens on at least following ports for connections:
     [8080 8181 4848 3700 3820 3920 8686 ].

     启动浏览器访问http://localhost:8080/看是否有"Your server is up and running!"的信息。

     访问http://localhost:4848/,输入用户名: admin 密码: adminadmin (缺省)

     在右面的"Common Task"页面上点击"Deploy Web Application(.war),然后在"Deploy Enterprise Applications/Modules"页面"Location"处选择"Packaged file to be uploaded to the server",点击"Browse",选中在“配置opengrok”任务中编辑好的source.war文件,点击"open",然后点击右上角的"OK"按钮,你就完成了opengrok的布局。

     现在你就可以在你的浏览器中输入http://localhost:8080/source/开始你的源代码之旅了。

     现在就下载glassfish并填写调查表,说不定你还有机会中一个iPod Nano呢。心动不如行动!

 

   
 

    

 

About

samwan

Search

Categories
Archives
« 四月 2014
星期日星期一星期二星期三星期四星期五星期六
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今天