Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

前言

Tomcat整个架构设计非常优秀,代码简洁有力,从事后端工作的小伙伴们,如果想精进自己的技术水平,可以拜读一下Tomcat的源码,能全棉了解一个服务器容器是怎么工作的,从中可以学到好多。

而要想读懂Tomcat源码,debug环境是必须的,否则一头扎进几十万行的代码中,肯定死得非常惨。那如何在IDE中导入Tomcat源码,并顺利启动debug环境呢?本文将以eclipse为例,详细介绍步骤。

 

详细步骤

下载源码

 

Tomcat是Apache基金会下一款优秀的servlet容器,代码完全开源,我们去官网就可下载到Tomcat源码。

官网地址为https://tomcat.apache.org,笔者使用的版本是8.5,这里以8.5举例。注意,要下载源码,而不是编译后的执行文件。

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

下载后解压的目录结构为:

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

 

 

导入eclipse

 

笔者这里使用的IDE是eclipse,完全可以使用其他的,比如说IntelliJ IDEA。 在eclipse中新建项目,并导入文件包,找到你刚刚下载的源码目录。

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

并不是全部都导入,而是只导入Java目录,test目录, 和webapps 的一部分目录:

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

导入成功后,eclipse会提示报错。不要着急,这是因为还缺少依赖的jar包。

 

导入jar包

 

顺利运行而且不出错的话,需要以下jar包:

 

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

在项目路径下,新建lib目录,并把这些jar拷贝进来,并添加build path,让主代码能顺利找到这些jar包的位置。

 

这些工作完成后,把java 和 test 两个目录添加到source路径,称为项目的主代码路径。方法是在项目上选择 Properties ---> Java Build Path ---> Source ---> Add Folder

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

 

可以把项目原来的src目录删掉,这个目录已经没用了。

 

 

 

解决错误

 

此时运行Tomcat的话,虽然会报错,但是其实可以工作了。但是作为强迫症患者,不能允许出一点错,现在解决错误。

 

第一个错误是,eclipse本身缺少依赖jar包,univocity-parsers-2.5.4.jar 这个包时是来解析CSV文件的。默认eclipse的plugins路径为:

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

 

直接把jar包拷到这个目录下即可。

 

第二个错误是缺少一个静态工具类,在test/util 包下, 创建一个CookieFilter.java, 并写下必要的方法。

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

 

这两个错误解决,Tomcat即可顺利无错误的运行了。

 

 

运行

 

Tomcat的运行入口在Bootstrap的main方法中,启动Run as 选择Java Application,并选择Bootstrap:

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

Tomcat 顺利运行:

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

浏览器也可正常访问,说明Tomcat启动正常。

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍

后记

整个过程,需要的资源,比如说依赖的jar包,CookieFilter.java类,环境关注微信公众号,回复Tomcat,即可获取。

Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍