下载源码

从github下载tomcat源码

git clone https://github.com/apache/tomcat.git

或者直接fork一份到自己仓库,以便后续添加注释,附上笔者自己的tomcat地址https://github.com/jaggercoders/tomcat.git

MAVEN构建

因为本人习惯使用maven,所以将源码转为maven工程,新建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</groupId><artifactId>tomcat</artifactId><name>apache-tomcat-9.0.20</name><version>9.0.20</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><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>4.0.2</version><scope>test</scope></dependency><dependency><groupId>org.apache.ant</groupId><artifactId>ant</artifactId><version>1.10.6</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.6.1</version></dependency></dependencies><build><finalName>Tomcat-9.0.20</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>3.5.1</version><configuration><encoding>UTF-8</encoding><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>

启动参数准备

  • Main class:org.apache.catalina.startup.Bootstrap

  • VM options:-Dcatalina.home=D:\git\learn\openSource\tomcat\home

.apache.catalina.startup.Bootstrap`

  • VM options:-Dcatalina.home=D:\git\learn\openSource\tomcat\home

Tomcat源码解析:环境搭建相关推荐

  1. Tomcat源码调试环境搭建

    我们一般都是为了解决某个问题,才去看源码的.Java体系就是这点好处,源码唾手可得.遇到问题,最后的解决方法总是可以从源码中找到. 参考了网上的文章,过程整理如下: 1. 下载和导入 官网下载编译好的 ...

  2. spring源码解析--环境搭建

    一.安装github 下载地址http://github-windows.s3.amazonaws.com/GitHubSetup.exe,完成后安装会出现gitshell和github 二.下载sp ...

  3. soul网关源码解析-环境搭建

    项目功能简介 支持各种语言(http协议),支持 dubbo,springcloud协议. 插件化设计思想,插件热插拔,易扩展. 灵活的流量筛选,能满足各种流量控制. 内置丰富的插件支持,鉴权,限流, ...

  4. spring5.3.x源码阅读环境搭建

    spring5.3.x源码阅读环境搭建-gradle构建编译 文章目录 spring5.3.x源码阅读环境搭建-gradle构建编译 一.依赖工具 二.下载源码 三.开始构建 四.编译源码 五.源码测 ...

  5. Tomcat源码解析五:Tomcat请求处理过程

    前面已经分析完了Tomcat的启动和关闭过程,本篇就来接着分析一下Tomcat中请求的处理过程. 在开始本文之前,咋们首先来看看一个Http请求处理的过程,一般情况下是浏览器发送http请求-> ...

  6. Tomcat源码解析系列二:Tomcat总体架构

    Tomcat即是一个HTTP服务器,也是一个servlet容器,主要目的就是包装servlet,并对请求响应相应的servlet,纯servlet的web应用似乎很好理解Tomcat是如何装载serv ...

  7. spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]

    spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ] 一. Gradle下载与安装 软件名称 版本 下载地址 jdk jdk 11.0.5 下载链接 提取码 ...

  8. ardupilot java_基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  9. Android源码编译环境搭建教程 (一) - Ubuntu系统构建

    Android源码编译环境搭建教程 (一) - Ubuntu系统构建 本教程为感兴趣的同学提供Android源码编译的环境搭建,当然这里都是基于windows系统,mac系统也差不多,将相应的软件替换 ...

  10. cl.zk0.info/index.php,兄弟连区块链入门到精通教程btcpool矿池源码分析环境搭建

    原标题:兄弟连区块链入门到精通教程btcpool矿池源码分析环境搭建 btcpool矿池-测试环境搭建及使用cgminer测试 本文档基于Ubuntu 16.04 LTS, 64 Bits. 安装Bi ...

最新文章

  1. Activity的插件化(三)
  2. LeetCode Populating Next Right Pointers in Each Node II(dfs)
  3. linux中rev命令详解,详解Linux中输出文件内容的rev与tac命令使用
  4. xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance(xsi:schemaLocation详解)
  5. python crm_Python CRM项目一
  6. php笔记之-laravel-Redis hash
  7. 添加CAB最大压缩到右键菜单
  8. 【无标题】IDM + 油猴 + 百度云
  9. Android开发-Android项目结构
  10. cad中lisp文件给恶作剧_AutoCAD小秘密062:紧急插播,关于LISP的病毒防治
  11. 优化算法(一)—— 模拟退火算法(SA算法) 实战
  12. dell latitude3400 笔记本QQ语音别人听不到声音
  13. 数字代理在持续由内而外重塑创新
  14. 解决git克隆到本地的仓库文件夹不显示红色感叹号、绿色对号等图标的问题
  15. 重做raid后,重启无法进入系统
  16. 路由器怎么知道外网返回的数据包发给局域网中哪台主机呢?
  17. 还在为不会做PPT而担忧嘛,有这个PPT神器,从此秒变王者!
  18. 特征工程——特征转换
  19. 01组团队项目-Beta冲刺-1/5
  20. git报错:[0x7FF8A8967EA0] ANOMALY: meaningless REX prefix used

热门文章

  1. 知识图谱认知智能理论与实战----------第一章 知识图谱概述
  2. 【题解】纪中篮球联赛
  3. 学习路之html--扒取整站网页----扒站神器(Mac版跟window版)
  4. jquery end()用法
  5. JS事件绑定的几种方式
  6. Excel VBA 金融建模 培训
  7. 七个受用一生的心理寓言
  8. 数学计算机关系论文2000字,数学与计算机科学论文2000字_数学与计算机科学毕业论文模板...
  9. Golang适合高并发场景的原理
  10. 径向基网络(RBF network)之BP监督训练