使用IDEA+Ant搭建Tomcat源码阅读环境


Tomcat我们走

一、为什么要阅读Tomcat源码?

  Tomcat是一个开源的轻量级且使用非常广泛的Web容器,SpringBoot内置集成了Embedded Tomcat。阅读并学习Tomcat源码主要出于两个目标:(1)熟悉Tomcat整体架构、Web容器实现原理以及请求处理流程;(2)学习如何在SpringBoot应用中配置tomcat参数。

二、Tomcat源码阅读环境搭建流程

1、下载并安装JDK与Ant

  由于Tomcat源码使用Ant构建,因此需要安装Ant,省掉将源码项目转为Maven项目的工作量。下载Ant链接https://dlcdn.apache.org//ant/binaries/apache-ant-1.10.12-bin.zip。配置ANT_HOME并使用ant -version验证是否安装成功。

验证Ant是否安装成功

2、下载Tomcat源码并解压至指定文件夹下

  下载链接:https://downloads.apache.org/tomcat/tomcat-9/v9.0.65/src/apache-tomcat-9.0.65-src.zip.asc。

3、使用IDEA打开源码并构建源码

(1)首先确保IDEA已启用Ant插件,打开源码后将项目转为Ant项目。

转为Ant项目
Ant插件Target

(2)复制build.properties.default文件为build.properties,打开并修改base.path=/Users/colinlee/IdeaProjects/source/tomcat/tomcat-build-libs(PS:请修改为自己的路径),修改build.xml,注释掉报错的property,仅保留build.properties。

<!--<property file="${user.home}/build.properties"/>-->
<property file="build.properties"/>
<!--<property file="build.properties.release"/>-->
<!--<property file="build.properties.default"/>-->

(3)使用“download-compile”的Target将Tomcat的依赖包下载至tomcat-build-libs下。(PS:ant依赖需要单独下载,下载链接:https://repo1.maven.org/maven2/org/apache/ant/ant/1.10.12/ant-1.10.12.jar。在tomcat-build-libs下创建文件夹ant-1.10.12,并将下载好的ant-1.10.12.jar复制或剪切至文件夹ant-1.10.12下。)

(4)使用“deploy”的Target编译项目到${user.dir}/output下。我的是 /Users/colinlee/IdeaProjects/source/tomcat/apache-tomcat-9.0.65-src/output。

编译的目录

4、配置项目

(1)设置Project的JDK

设置Project的JDK
(2)设置Modules。在Sources下将java目录设置为源码目录,在Paths下设置源码编译输出目录为/Users/colinlee/IdeaProjects/source/tomcat/apache-tomcat-9.0.65-src/output/classes。

设置Sources
设置Paths
(3)设置Libraries。在Libraries下点击“+”号选择Java,弹框选择文件夹tomcat-build-libs下的所有文件夹,以添加需要的所有依赖。

在这里插入图片描述

5、启动项目

  点击Edit Configurations,添加一个Application来运行。如下图所示,Main Class为org.apache.catalina.startup.Bootstrap。

启动项目
VM options需要指定catalina.home和catalina.base。个人理解,catalina.home指的是Tomcat根目录或者说安装目录(即bin目录所在的目录,类似JAVA_HOME);catalina.base指的是webapp目录所在的目录。⚠️另外这里如果不指定catalina.home的话会警告提示找不到lib目录。

-Dcatalina.home=/Users/colinlee/IdeaProjects/source/tomcat/apache-tomcat-9.0.65-src/output/build
-Dcatalina.base=/Users/colinlee/IdeaProjects/source/tomcat/apache-tomcat-9.0.65-src/output/build

配置好后运行Bootstrap,开启阅读源码之旅。

三、最后!附上一张请求处理流程图

请求处理流程图
  如有不正确之处,欢迎在下方评论指出!

  • 23
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LJXColin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值