bootstrap项目源码_Tomcat源码导入eclipse,并设置debug环境,详细步骤介绍!

473865b3e00ef8a9207dd82c502fee1a.png

前言

提起Tomcat,各位小伙伴一定非常熟悉,对,就是他,和Jerry Mouse,大战无数回合,胜少败多的那只笨猫。

5258cda248d5b6ad346cf30e403a955c.png
Tom 猫

咳咳咳,不对不对,说错了,不是这个Tomcat, 是这个。 合众国之鹰,F14战斗机,独特的可变后掠翼设计,好看又能打。阿汤哥在《壮志凌云》中,驾驶Tomcat帅气的英姿,征服多少少女心。

1855d009b28543d0ce3a623498834374.png
F14 Tomcat战斗机

a12645fd3bf2dd0e8566ab04447adea1.png
阿汤哥驾驶F14战斗机

咳咳咳,又说错了,也不是这只霸气测漏的猫,而是下面这只猫。相比于上面两只,这只猫既不有趣也不霸气,但是,这只猫的名气也一点不小,估计每个程序员都多少了解过,不错,那就是:

7eec27517e45145acc45176ce64e8a37.png
Apache Tomcat

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

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

详细步骤

下载源码

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

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

7c199405b147640fdb926d958fb9af47.png

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

dab2bdc33036d607b3070874d370d5ee.png

导入eclipse

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

a37e7e2b53ce0eb75259de9f3d5ac9c2.png

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

8956bbe5000fe178f9dd030d3ec8ccdb.png

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

导入jar包

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

6d464912627a817a5356bbf99edc0855.png

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

这些工作完成后,把java 和 test 两个目录添加到source路径,称为项目的主代码路径。方法是在项目上选择 Properties ---> Java Build Path ---> Source ---> Add Folder。 可以把项目原来的src目录删掉,这个目录已经没用了。

6925e94c72d6e3d67858b99c425c6ca4.png

解决错误

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

第一个错误是,eclipse本身缺少依赖jar包,univocity-parsers-2.5.4.jar 这个包时是来解析CSV文件的。默认eclipse的plugins路径为用户目录下.p2,直接把jar包拷到这个目录下即可。

89331518d154493b39b70439e38d48da.png

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

925dc2595b592a2f529871b97dd9e8e5.png

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

运行

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

1a9eb315c6d26d782882c5ed66a62a4d.png

a71c1f2a134928c93b9850f9dd9bed5b.png

Tomcat 顺利运行:

56bf06843664f6d6ad9c4e7b893bab7d.png

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

e4d39ea136926e07236c3fc4f93b638a.png

后记

阅读优秀框架的源码,是一个不错的提高之路,毕竟站在巨人的肩膀上才能看的更远。有问题的小伙伴,欢迎一起交流学习。

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

2d900520172b06623bc8ac477842d1bc.png
关注微信公众号,了解更多更酷的知识
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值