您现在的位置是:首页 > 文章详情

Idea 调试Tomcat源码

日期:2018-10-04点击:496

开篇

不知道从哪个途径被安利买了一本《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,注释里面的测试内容即可
img_ef22e1f13a2c21b13aaa305934cf5dad.png
idea配置
img_cf5f6e786287b1adc4501d9acaf35f9d.png
idea配置


启动验证

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

img_0fb4df0cc3bc2f1caa4d7df579a8f6d3.png


参考文章

img_7fa18fe81626d2e8c7798d55b89be836.png
Tomcat架构解析
原文链接:https://yq.aliyun.com/articles/666276
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章