eclipse和idea导入tomcat源码
下载源码
- 不管是用什么工具导入源码,这第一步肯定是去下载源码了。下载地址https://archive.apache.org/dist/tomcat/,因为工作中用的是tomcat8.5.20我就下他了https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.20/src/apache-tomcat-8.5.20-src.zip
eclipse导入并运行
建立一个空的maven项目
复制源码到项目
- 到这个把源码复制到项目里
- 把conf复制到resources下
- 可能需要的依赖
<!-- https://mvnrepository.com/artifact/org.apache.ant/ant -->
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.jdt/org.eclipse.jdt.core -->
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.core</artifactId>
<version>3.13.102</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.xml.rpc/javax.xml.rpc-api -->
<dependency>
<groupId>javax.xml.rpc</groupId>
<artifactId>javax.xml.rpc-api</artifactId>
<version>1.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.birt.runtime.3_7_1/javax.wsdl -->
<dependency>
<groupId>org.eclipse.birt.runtime.3_7_1</groupId>
<artifactId>javax.wsdl</artifactId>
<version>1.5.1</version>
</dependency>
运行测试
- 可以运行一个项目试试看,在webapps放一个项目就好
- 找到Bootstrap运行
- 启动成功,测试一波
- 运行成功,eclipse导入源码算是完成了。
idea导入源码并运行
建立一个空maven项目
复制代码到项目里
- 依旧是把代码还有配置文件以及拿个测试项目复制到里面
- 可能需要的依赖
<!-- https://mvnrepository.com/artifact/org.apache.ant/ant -->
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.jdt/org.eclipse.jdt.core -->
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.core</artifactId>
<version>3.13.102</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.xml.rpc/javax.xml.rpc-api -->
<dependency>
<groupId>javax.xml.rpc</groupId>
<artifactId>javax.xml.rpc-api</artifactId>
<version>1.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.birt.runtime.3_7_1/javax.wsdl -->
<dependency>
<groupId>org.eclipse.birt.runtime.3_7_1</groupId>
<artifactId>javax.wsdl</artifactId>
<version>1.5.1</version>
</dependency>
- 这里有个坑,必须的build配置(不然不会编译到classes )
<build>
......... 省略.............
<resources>
<!-- 因为src/main/java里的xml,properties,dtd没编译到classes 所以这样配置 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.dtd</include>
</includes>
</resource>
</resources>
......... 省略.............
</build>
运行测试
- 依旧运行Bootstrap启动
- 然后访问项目
- 测试成功,idea导入源码就完了
已经调试过的源码
- 我把idea导入过的tomcat8.5.20的源码分享给大家,写了一些源码注释 https://github.com/1030907690/apache-tomcat-8.5.20-src,如果要运行可以把那个测试项目换成自己的,因为那个测试项目启动要查询数据库;没有那条数据要报错的。
- 最后如果文章有问题的地方还希望大家留言斧正。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现