源码分析第一步,当然是把源码导入自己的IDE,本文以Tomcat8.5.29为例,使用Ant工具进行代码编译,按照下面的步骤来就可以了
下载Ant
这里使用的是Ant1.10.5,下载地址:http://mirrors.shu.edu.cn/apache//ant/binaries/apache-ant-1.10.5-bin.zip
这里注意:JDK必须在8以上,低于8使用Ant会出问题
下载源码
从官网下载8.5.29源码包:地址:https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.29/src/
配置Ant环境
- 新建一个环境变量:ANT_HOME,指向Ant的目录
- 在Classpath环境变量中,添加%ANT_HOME%\lib
- 在Path环境变量中,添加%ANT_HOME%/bin
- 打开命令行,输入“ant -version”,如下图说明Ant配置成功了。
编译Tomcat
1、进入Tomcat目录,修改build.properties.default为build.properties
2、打开build.properties,然后找到base.path【指定jar包下载的目录】
3、打开命令行,然后进入Tomcat的目录,然后输入ant,回车,如下图
最后出现build success,说明成功了
导入Tomcat源码
- 打开Eclipse,先新建一个Java项目(New->Java Project),名字随便取
- 右键该项目,Import->General->File System,选中Tomcat目录,如下图:
3.选中导进来的java目录,右键->Build Path->Use as Source Folder
4.导入关联的jar,如下:
- ant.jar【在ant的目录下面】
- jaxrpc.jar,在Eclipse\plugin\javax.xml.rpc_xxx【xxx:因版本而异\lib
- wsdl4j-1.5.1.jar,去网上下载或者使用Everything工具搜索下本机“wsdl4j”,有可能你已经有这个包,那么就直接导入就行
- org.eclipse.jdt.core_3.3.1.v_780_R33x.jar,版本视情况而定。这个包也在Eclipse\plugin\org.eclipse.jdt.core_3.3.1.vxxx.jar【xxx:因版本而异】
5、找到org.apache.catalina.startup.Bootstrap类。这个是Tomcat的人口类,这里有main方法,但是直接右键run,肯定会报错,因为没有指定配置文件。所以需要通过JVM参数告诉Tomcat配置文件的路径,步骤如下
- 进入Bootstap类,右键Run As->Run Configurations
- 找到JavaApplication,右键New
3.Project随便填,但是main Class指向org.apache.catalina.startup.Bootstrap
4.然后在Arguments,输入-Dcatalina.home=“xx\output\build”,这个xx是你Tomcat目录下的
OK,全部步骤大概就是这样,很简单。