美文网首页Tomcat
Idea 调试Tomcat源码

Idea 调试Tomcat源码

作者: 晴天哥_王志 | 来源:发表于2018-10-05 20:46 被阅读237次

    开篇

     不知道从哪个途径被安利买了一本《Tomcat架构解析》的书,突然对Tomcat来了兴趣,准备花一段时间好好研究这个对自己来说是黑盒的容器,所以在未来一段时间里朋友圈应该会有大量这方面的分享。
     按照固有套路,阅读源码前得搭建基于idea集成开发环境的debug环境,这篇文章主要就是做这个事情的,当然必然是参考了前人的文章,在文末的参考文章中已经注明,以示尊重。

    源码下载

     我是基于TOMCAT_8_5_34版本,所以source和binary的下载都是基于该版本。
    需要注意的是在tomcat binary下载中需要选择core版本

     额外需要执行下面的配置

    • 目录结构
    tomcat_study
    ├── TOMCAT_8_5_34 (tomcat源码)
    └── apache-tomcat-8.5.34 (tomcat的core文件)
    
    • 新增pom.xml
      在TOMCAT_8_5_34的目录下新增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.0</artifactId>
     <name>Tomcat8.0</name>
     <version>8.0</version>
     
     <build>
     <finalName>Tomcat8.0</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>
    
    

    Idea配置

     Idea的配置按照下面的步骤进行操作:

    • 1、按照下面图示新增Application的配置信息
    • 2、在Man class:中填入:org.apache.catalina.startup.Bootstrap
    • 3、在VM options:中填入:-Dcatalina.home="apache-tomcat-8.5.34",catalina.home替换成tomcat binary core的目录
    • 4、jdk默认是1.8,因为我装的就是jdk1.8版本
    • 5、启动过程中Test模块会报错,且为TestCookieFilter.java,注释里面的测试内容即可
    idea配置 idea配置

    启动验证

    浏览器中输入127.0.0.1:8080,得到下面的页面界面说明启动成功。

    参考文章

    Tomcat架构解析

    相关文章

      网友评论

        本文标题:Idea 调试Tomcat源码

        本文链接:https://www.haomeiwen.com/subject/ysaqaftx.html