Emacs绝对是伟大的软件,比起世俗的一些无耻小人要伟大得多,而它的一些设计思想至信仍然在影响着很多的开发工具。JDEE也是一个伟大的软件,我在JDEE的邮件列表中,得到的是非常令人开心的反馈:欢迎使用JDEE,欢迎聪明的人与聪明的人一起工作。
认识JDEE有一年半了,但是,长久以来的浮燥让我从来没有深入到里面去。而前几天Carlos Konstanski展示的JDEE的功能,让我大开眼界,其实,Eclipse和Netbeans都没有太多必要了,因为Emacs依然可以作为一个全功能的Java开发工具。(当然,我还是倾向于在团队中使用IDEs,因为通过插件和软件框架可以弥补大家水平不同的问题)
在这里,我就不介绍JDEE的安装过程了,以后有时间专门总结JDEE配置到Emacs中的方法。这里将要重点描述的是:如何将JDEE变成一个全功能的Java代码阅读器。下面的内容中将包含如何使用JDEE和Emacs阅读Guice1.0源代码。
首先,我们准备开始阅读Guice1.0的源代码。首先,下载Guice1.0的源代码,解压后的目录结构如下:
Guice1.0src
|-----javadoc/
|-----servlet/
|-----lib/
|-----spring/
|-----src/
|-----struts2/
|----- test/
|-----build.xml
|-----build.properties
|-----common.xml
|-----COPYING
|-----guice.iml
|-----guice.ipr
|-----guice.iws
|-----pom.xml
|-----uploadJavadocs.sh
我打算入手阅读的源代码,主要是Guice如何实现IoC的,因此暂时不打算去关注Guice的Struts2插件,与Spring的集成等等。从Guice代码的基本目录结构可以看出来,我应该关注的点在src里面。因此,我要准备在与src目录平级的地方放置prj.el。prj.el是JDEE的项目描述文件,可以通过这个文件定义一个项目的相关内容,比如代码位置,编译路径等等。
那么,下面的工作是研究一下Guice1.0源代码根目录下的几个文件都是做什么用的,也许对于编写prj.el有帮助。
build.xml这应该是Ant的脚本,好东西,一会仔细研究。
pom.xml,这就是Maven的脚本了,也是好东西,一会也需要仔细研究(难道Bob Lee喜欢一边用Ant一边用Maven?)
common.xml,这个估计也是Ant脚本,但现在不清楚与build.xml有什么关系,一会研究。
guice.iml, guice.ipr, guice.iws,这三个文件的后缀名我是直接没有听说过,似乎比较奇怪,Google查一下也没查到,打开后感觉也像是某种项目管理软件对于项目的定义文件,如果谁知道这些文件是什么请告诉我,谢谢(难道Bob Lee同时使用很多种项目构建工具?)
uploadJavadocs.sh就比较简单了,用于上传JavaDoc的Shell脚本。
好的,下面重点开始看pom.xml和build.xml
打开pom.xml 让我大吃一惊,里面根本没有多少对于项目定义的东西,只有一个最基本的maven-compiler-plugin的定义。好吧,换build.xml试试。
打开build.xml,这里面对于项目讲解得比较仔细,原来common.xml是在这里被引入的,我们来看几个关键的地方:
1.Classpath定义:从这个文件中我们可以看到,lib目录下的aopalliance.jar应该放置在classpath中,lib/build目录是Classpath。
2.编译:似乎只需要将代码使用JDK1.5以上的编译器进行编译,然后注意Classpath正确就可以了。
3.Dist:最终Guice将打成一个Jar包(不包括一些插件之类的,在这里只讨论Guice的核心部分)
有上面的信息,就可以开始配置Guice1.0的prj.el了。