如何将Tomcat源码加载到IDEA中并启动

作为初入编程一年多的萌新,道听途说要阅读各种开源框架的源码。好吧,趁着头发还在的时候多纠结下吧,好在卡壳的时候挠头发的时候不那么突兀。

进入今天的主题——Tomcat的源码加载到IDEA中。

  1. 首先到Tomcat官网下载源码文件
  2. 上图标注的二进制文件和源码文件都要下载。
  3. 将源码文件解压,解压后的文件夹为:apache-tomcat-8.5.35-src
  4. 将二进制文件解压到和apache-tomcat-8.5.35-src文件夹同一级目录,并修改文件夹名为catalina-home
  5. 最后的目录文件如下图所示:
  6. 我选择的是使用maven的方法将Tomcat源码导入到IDEA中,但是下载的Tomcat源码中并没有pom.xml文件,所以还需要在Tomcat源码目录下的根目录创建pom.xml文件:
    <?xml version="1.0" encoding="utf-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>Tomcat8.5</artifactId>
        <name>Tomcat8.5</name>
        <version>8.5</version>
        <build>
            <finalName>Tomcat8.5</finalName>
            <sourceDirectory>java</sourceDirectory>
            <testSourceDirectory>test</testSourceDirectory>
            <resources>
                <resource>
                    <directory>java</directory>
                </resource>
            </resources>
            <testResources>
                <testResource>
                    <directory>test</directory>
                </testResource>
            </testResources>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>3.4</version>
            </dependency>
            <dependency>
                <groupId>ant</groupId>
                <artifactId>ant</artifactId>
                <version>1.7.0</version>
            </dependency>
            <dependency>
                <groupId>wsdl4j</groupId>
                <artifactId>wsdl4j</artifactId>
                <version>1.6.2</version>
            </dependency>
            <dependency>
                <groupId>javax.xml</groupId>
                <artifactId>jaxrpc</artifactId>
                <version>1.1</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jdt.core.compiler</groupId>
                <artifactId>ecj</artifactId>
                <version>4.5.1</version>
            </dependency>
        </dependencies>
    </project>

     

  7. pom.xml文件中主要就是加了maven插件和Tomcat编译运行时所需要的依赖。
  8. 下面就是将源码文件导入到IDEA中了
  9. 点击Import Project,选中 apache-tomcat-8.5.35-src 文件夹,之后选中maven
  10. 然后Next到最后就可以了,记得选中jdk。
  11. 这样Tomcat的源码就导入到IDEA中了,稍等片刻,等待maven去下载相关的jar包。下图是Tomcat的导入后的源码目录结构
  12. 这个时候就该启动下了
  13. 点击Edit Configurations配置启动文件。
  14. 具体的配置我就不赘述了,看图即可
  15. 我们来分析下我图上标注的东西到底是什么?
    1. Name:启动服务的名称,可以随便填写
    2. Main class:启动的main方法所在的类,org.apache.catalina.startup.Bootstrap 这个路径就是Tomcat启动的主类,如果有不明白的,给你个 传送门 自己体会下
    3. VM options:启动程序的参数。这儿填写具体路径 -Dcatalina.home="/Users/mac/Desktop/source_code/catalina-home" ,双引号里面的路径就是文章开局下载的Tomcat二进制文件解压后的文件路径
    4. Working directory:调试的工作目录。说白了就是Tomcat启动时引用的源码路径。
    5. JRE选中自己安装的
    6. 使用的module也用默认的
    7. 然后OK
  16. 接下来就是该启动了吧,但是别高兴的太早,会报错的
  17. 提示没有这个CookieFilter类,我一番查询过后在GitHub上找到了这个东西,添加到  test/util 目录下
  18. 然后再启动一次,成功,完美。
  19. 最后就是打上断点调试了,一步步查看Tomcat的启动方式,揭开神秘的面纱。撒花~~~

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值