引言

在学习Tomcat源码之前,我们首先需要将Tomcat在IDEA中进行导入后,进行代码调试。

  • Idea导入 Tomcat源码步骤
  • 总结

一、Idea导入 Tomcat源码步骤

1、下载Tomcat源码
a、进入Tomcat官网:Tomcat官网
b、点击页面左方Dowmload标题下的Tomcat下载链接;

c、在页面下方点击zip下载链接;

2、ANT安装与下载
a、首先在官网下载ANT安装包:ANT
b、点击下载链接进行安装包下载;

c、设置ANT环境变量

ANT_HOME: D:\soft\apache-ant-1.10.5

path: D:\soft\apache-ant-1.10.5\bin

classpath : D:\soft\apache-ant-1.10.5\lib

d、查看ANT是否安装完成

3、使用ANT命令获取catalina-home文件夹配置
a、在Tomcat源码路径新建catalina-home文件夹;

b、在cmd命令行中进入Tomcat源码路径下,即为:

c、在该目录下运行ant命令,如下所示,当出现BUILD SUCCESSFUL时,表示编译成功:


d、编译完成后,在Tomcat源码包根目录下的 output/build 中生成catalina-home所需的文件夹,将这些复制到源码包同级的catalina-home中;

4、在Idea中导入Tomcat源码
a、打开IdeaFile-》Open,选择Tomcat的源码路径进行项目导入;

b、进行运行配置如下所示:
1)在菜单栏中点击Run后,在下拉菜单中选择Edit Configurations
2)进行运行配置;

3)点击左上方的绿色加号选择Application进行配置;

4)配置清单如下:
Name:TomcatSource
Main class:org.apache.catalina.startup.Bootstrap
VM options:-Dcatalina.home=“D:\sourcecode\catalina-home”
Use classpath of module:一定和POM文件中的版本保持一致,自动匹配
5)在org–》apache–》catalina–》startup包下找到Bootstrap类,添加标志代码,如下所示;

 public static void main(String args[]) {
   
        System.out.println("****************Tomcat源码计划正式启动****************");
        if (daemon == null) {
   
            // Don't set daemon until init() has completed
            Bootstrap bootstrap = new Bootstrap();
            try {
   
                bootstrap.init();
            } catch (Throwable t) {
   
                handleThrowable(t);
                t.printStackTrace();
                return;
            }
            ...
}