Tomcat源码分析环境搭建(Tomcat源码阅读系列之一)

时间:2022-12-19 16:56:31

前言

Tomcat是个不过的Http服务器,其源码是比较值得我们学习的。但是搭建Tomcat源码分析环境时,会存在各种各样的问题,我们在搭建Tomcat源码分析环境的花了比较多的时间在配置上,为了方便他人搭建Tomcat源码分析环境,少走我曾走过的弯路,现写篇关于Tomcat源码分析环境搭建的配置过程。其实Tomcat的官网也给出了Building Tomcat的步骤,本人在配置环境的过程中也是主要参考该文档。

1. 安装基本环境

  1. 安装JDK1.6+,设置环境变量JAVA_HOME(指向JDK的安装根目录,如:C:\Program Files\Java\jdk1.6.0_45)
  2. 安装Ant1.8.2+,设置环境变量ANT_HOME(指向ANT的安装根目录,如:E:\apache-ant-1.9.7),设置环境变量CLASSPATH,其值为%ANT_HOME%\lib;.;C:\Program Files\Java\jdk1.6.0_45\lib\tools.jar,或许大家会问为什么要配置这个环境变量,主要是因为Tomcat的源码是基于Ant构建的,需要引入Ant.jar包,tools.jar是Ant运行所需要的,而 . 则是当前目录的意思。
  3. 安装SVN,其安装过程此处省略。

2. check out相应的Tomcat源代码

SVN的下载地址为:https://tortoisesvn.net/downloads.html
首先要先说明一下,Tomcat的svn地址为:
- Tomcat6: svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk
- Tomcat7: svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk
- Tomcat8: svn.apache.org/repos/asf/tomcat/tc8.0.x/trunk
注:上述地址指向的是各个版本的最新代码,也可以选择tags目录下的以前的某个版本的代码

svn的checkout命令为:svn --force export http://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk D:Tomcat7,该命令会将把Trunk目录下的代码下载到你的硬盘D:\Tomcat7目录

3. 搭建Eclipse编译共工程环境

在cmd中执行以下命令:

cd D:/Tomcat7
ant ide-eclipse

注:
1. 在这个过程中可能存提示下载tomcat-native-1.1.27目录下的tomcat-native.tar.gz 文件失败,其原因是因为官网中已没有了这个版本的文件,需要将build
.properties.default文件中的tomcat-native.version=1.1.27 修改为tomcat-native.versioni=1.1.34(或者登录http://tomcat.apache.org/download-native.cgi)查看对应的文件版本。
2. 如果接下来又到其他文件下载失败,请在查看你所在的网路是否能够访问得到http://archive.apache.org/dist 网站,如果不能,可能是你的运营商对该网站进行了屏蔽,请连接其他运营商的网路进行下载。
3. ant ide-eclipse 命令执行过程可能有点久,是因为它需要下载Tomcat运行依赖的文件。

4.导入工程到Eclipse

  1. 选择【File】下【Import】
  2. 在弹出的导入窗口中,选择【Import and choose Existing Projects into Workspace】,点击【Next】
  3. 在显示的导入工程窗口中,点击【Browse】,选择我们Tomcat源码的下载根目录,如:D:/Tomcat7
  4. 点击【Finish】

5. 配置Eclipse环境

可能导入工程后,eclipse提示各种错误信息,这是因为我们还没有配置好Eclipse环境。
1. 选择【Windows】下的【preferences】
2. 在弹出的窗口中选择【Java】->【Build Path】->【ClassPath Variable】
3. 设置TOMCAT_LIBS_BASE、ANT_HOME;TOMCAT_LIBS_BASE需要指向build.properties.default中的base.path所指向的位置;ANT_HOME指向ANT的安装根目录。

至此,Tomcat源码的运行环境已基本完成。

6. 运行Tomcat

打开org.apache.catalina.startup.Bootstrap.java文件,右键选择【Run As】->【Java Application】,在弹出的窗口中选择start-tomcat,如果没有弹出窗口,则在【Arguments】->【VM arguments】中填入以下内容:

-Dcatalina.home=${project_loc:/tomcat-7.0.x/java/org/apache/catalina/startup/Bootstrap.java}/output/build

至此,Tomcat已基本可以运行起来,可以通过设置断点来跟踪Tomcat处理请求的过程等探索了。另外本文最终搭建好的环境,我已经放在Github上了,不想搭建的童鞋可以直接clone一份使用。GitHub地址

[注]上述配置步骤只是个人配置过程的记录,可能存在疏漏,如果按照上述配置步骤,仍有疑问或问题,欢迎邮件Woodyoilovecn@gmail.com进行交流,或者留言,我会尽快回复您。