我参加工作一转眼已经两年多了,主要从事B/S开发,使用java语言。最近感觉该是充电的时候了,就突然想到了经常使用的web容器tomcat,想简单学习一下tomcat的源码,这也是我第一次接触开源项目的源代码。
我使用的WIN7操作系统。首先,我下载了eclipse的http://www.cnblogs.com/draem0507/archive/2013/01/14/2859954.html介绍的方式添加了GIT插件。然后在http://git.apache.org/网页中找到TOMCAT7的GIT分支,通过eclipse的import功能,将源代码同步到本地,并建立工程。
下面就是对源代码的编译,并测试是否可以运行。tomcat源码的编译需要使用ant插件进行编译,原因在http://tomcat.apache.org/tomcat-7.0-doc/building.html上面有详细说明。我下载的是ant-1.9.4,安装后,在环境变量中增加ANT_HOME,并在path中加入${ANT_HOME}\bin目录。现在打开tomcat7工程,第一步将build.properties.default改为build.properties,并将该文件中,键值为base.path的路径修改为自定义的路径,因为tomcat在使用ant编译的时候会向该路径下载若干个库文件;第二步,打开eclipse的windows->preference->java->build
path->classth variables,
并添加ANT_HOME和TOMCAT_LIBS_BASE,其中ANT_HOME的值与环境变量相同,TOMCAT_LIBS_BASE的值与build.properties中的base.path值相同;第三步,在修改完参数之后,就开始编译了,打开项目中的build.xml,右键run
as->ant build进行编译,我第一编译的时候出现如下错误:
http://panpan.blog.51cto.com/489034/120826/
文中说,这是应为JDK版本过高(我的是jdk7,文中建议使用jdk5),于是我下载了JDK6试了一下,结果编译顺利通过,只不过在编译中还是有若干个警告。在JDK更换后,你可能要将IDE的编译环境从1.7换成与JDK对应的版本,如果eclipse抱错,可能你需要这个帮助http://blog.sina.com.cn/s/blog_6c98e96d0101i9v5.html。通过运行output/build/bin/startup.bat来启动tomcat,如果启动成功,即编译成功啦!
这样,tomcat7从下载,到建立工程,到编译就完成了。