原文:https://www.cnblogs.com/huangfox/archive/2011/10/20/2218970.html
想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug)。
这里参考了网上一些资料,将自己操作过程记个流水账。
一、准备:
1.Tomcat源码下载

2.ant安装,用于编译tomcat的源码。
ant下载解压后将其bin添加到系统环境path中。
关于ant查看https://mp.csdn.net/postedit/93471168
二、编译tomcat源码
第一步:
解压Tomcat源码,例如解压到D:\worktool\tomcat-src\apache-tomcat-7.0.94-src。
第二步:
2.1)使用ant编译tomcat源码,在编译之前需要下载相关的依赖项目。我们并不知道编译需要哪些依赖项目,怎么办?
让ant来帮忙吧!我们只需要准备一个存放这些依赖项目的地方,例如D:\worktool\tomcat-src\basepath。
2.2)要让ant工作起来,我们还要将apache-tomcat-6.0.33-src文件夹中的build.properties.default重命名为build.properties,
并且打开它,修改base.path=D:\worktool\tomcat-src\basepath。
注意:路径符号是/,直接从Windows的文件框复制出来的是\
![]()
2.3)下载依赖项目,进入命令控制台,进入目录D:\worktool\tomcat-src\apache-tomcat-7.0.94-src,执行命令:ant 。

2.4)等依赖项目下载好后,我们可以查看目录D:\worktool\tomcat-src\apache-tomcat-7.0.94-src,可以发现里面多了一个文件夹:output。
output文件夹的结构如下:

我们会发现这个结构和从安装包里解压出来的tomcat结构一致。
进入bin,启动tomcat成功,就说明——ant编译tomcat成功了!
三、eclipse导入源码
第一步:
在eclipse里新建一个java项目,例如:tomcat6。
第二步:
import->file system

在From directory选择tomcat源码,选择java和test(如果你需要测试的话选择test),如下图:

在into folder中选择我们刚新建的tomcat6,finish。
note:将java、test设置成source folder,java build path ->Source->Add folder...->选择java和test。
现在项目结构如下图所示:

第三步:导入jar包。
上面那些不爽的红叉是因为缺少jar的原因,我们现在需要那些jar包呢?
test需要junit.jar,这个直接用eclipse里面的即可。
java中需要:
- ant.jar
- jaxrpc.jar
- org.eclipse.jdt.core_3.3.1.v_780_R33x.jar
- wsdl4j-1.5.1.jar
jar包下载地址:
链接:https://pan.baidu.com/s/1e7KABNxlPYFKWcdGl1vK9A
提取码:nvb5
导入后就清爽了!

第四步:
在eclipse中启动tomcat。
找到类:org.apache.catalina.startup包中的Bootstrap类。

run as:选择run configurations

在Arguments的VM arguments中设置
-Dcatalina.home="D:\worktool\tomcat-src\apache-tomcat-7.0.94-src\output\build"

然后就可以启动了!
![]()
四、问题:
为什么要设置-Dcatalina.home="D:\worktool\tomcat-src\apache-tomcat-7.0.94-src\output\build"?
首先说明output是什么——它就是ant编译出来的output文件夹,大家可以试试删除里面的东西看还是否可以成功启动。
如果不配置这个参数又会发生什么情况呢?删除-Dcatalina.home="D:\worktool\tomcat-src\apache-tomcat-7.0.94-src\output\build",报错:

从中可以看出在项目的根目录下没有lib文件夹,没有conf文件夹,conf中没有server.xml,从而不能实例化server。
那么按照他的提示做,在启动就ok了!
本文介绍将Tomcat源码导入IDE进行代码跟踪的操作过程。首先要下载Tomcat源码并安装ant,用ant编译源码,下载依赖项目。接着在eclipse新建Java项目,导入源码和jar包,设置参数后启动。最后还解释了启动时设置 -Dcatalina.home 参数的原因。
2万+

被折叠的 条评论
为什么被折叠?



