tomcat源码运行
tomcat各版本下载地址:
https://archive.apache.org/dist/tomcat/
下载8.0.11的tomcat src包并解压,一开始的我参照的tomcat源码里BUILDING.txt进行编译运行,
安装了ant,在编译的时候遇到ssl的如下报错
尝试了去修改tomcat的server.xml里的Connector,然而ant编译一直不成功。
最后发现其实下载的源码做个小改动就可以直接在IDE里进行运行调试了,完全不需要使用ant来编译
上面的问题如果有高手看到能帮忙解答下最好啦
1.在源码的解压目录里添加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><resources><resource><directory>java</directory></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</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>
2.通过File-->Open将源码导入到idea中
3.在源码目录下创建catalina-home目录,复制webapps和conf到该目录下
4.创建Application
5.启动tomcat
访问发现提示如下错误:
原因是我们直接启动org.apache.catalina.startup.Bootstrap的时候没有加载org.apache.jasper.servlet.JasperInitializer,从而无法编译JSP。解决办法是在tomcat的源码org.apache.catalina.startup.ContextConfig中手动将JSP解析器初始化:
context.addServletContainerInitializer(new JasperInitializer(), null);
这样就可以正常访问了
tomcat源码运行相关推荐
- Tomcat - 源码构建Tomcat 8.5.55 启动
文章目录 官方地址 源码搭建分析 源码搭建步骤 (Maven管理) Step1. 新增maven管理文件 pom.xml Step2. 处理conf 和 webapps Step3. 导入IEDA 3 ...
- idea启动tomcat没有加载项目_震惊!我三步就搞定了 Tomcat 源码环境搭建!
喜欢请点关注 引言 随着微服务的流行,轻量级的服务应用器也是跟着大火了.毕竟那些企业级的服务应用器部署搭建成本太高.并且springboot 自带的就是 tomcat 服务. 所以我们也有必要学习 t ...
- 将tomcat源码以maven方式运行
前言 最近在分析tomcat的启动流程,虽然我们可以在idea中查看到tomcat的源代码,但是我们不能在上面做一些代码注释,这就会 非常的不方便,所以我们还是能在本地 运行一份源码,这样非常有利于我 ...
- Springboot源码分析之内嵌tomcat源码分析
Springboot源码是内嵌tomcat的,这个和完整的tomcat还是不同. 内嵌tomcat的源码在tomcat-embed-core等3个jar包里 展开tomcat-embed-core的c ...
- Eclipse 导入 Tomcat 源码
我的环境:Win10,Eclipse 4.8.0 Photon,JDK 10.0.2 1.下载Tomcat源码 我下载的是:apache-tomcat-9.0.12-src.zip 下载地址:http ...
- Tomcat源码分析--转
一.架构 下面谈谈我对Tomcat架构的理解 总体架构: 1.面向组件架构 2.基于JMX 3.事件侦听 1)面向组件架构 tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成 ...
- java tomcat源码_详解Tomcat系列(一)-从源码分析Tomcat的启动
在整个Tomcat系列文章讲解之前, 我想说的是虽然整个Tomcat体系比较复杂, 但是Tomcat中的代码并不难读, 只要认真花点功夫, 一定能啃下来. 由于篇幅的原因, 很难把Tomcat所有的知 ...
- Tomcat源码调试环境搭建
我们一般都是为了解决某个问题,才去看源码的.Java体系就是这点好处,源码唾手可得.遇到问题,最后的解决方法总是可以从源码中找到. 参考了网上的文章,过程整理如下: 1. 下载和导入 官网下载编译好的 ...
- 探秘Tomcat(一)——Myeclipse中导入Tomcat源码
前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生 ...
最新文章
- JavaScript权威设计--JavaScript词法结构(简要学习笔记二)
- 小鱼易连电脑版_揭秘:为什么win10电脑越用越卡,本质问题是什么?
- access计算机二级改工号,Access新手来看:如何更改表/窗体/报表...得名字
- 宝塔面板修改端口号无法登陆解决方案
- 免费搭建一个云音乐网站
- Holt-Winters-季节性预测算法
- QtQuick 技巧 2
- 抽屉新热榜html源码,利用scrapy获取抽屉新热榜的标题和内容以及新闻地址保存到本地...
- 网络实用技术--登录--第三方登录--百度第三方登录
- Python----列表
- UVALive 4850 Installations——思维
- JavaBean为什么需要序列化?
- 【jqprint打印】js两种超简单的打印方法
- php点击切换图片的底部导航,如何优雅地使用BottomNavigationView实现底部导航栏+fragment切换效果...
- 10款最佳跨浏览器测试工具,建议收藏
- 三星正在研发智能戒指,智能戒指当然少不了Find My功能
- 手动刷入Android 4.4.1 KOT49E OTA更新包
- 太稳了!2020年益丰大药房又开1239家,营收高达131亿!
- css区分ie8/ie9/ie10/ie11 chrome firefox的代码
- Aerospike-Java
热门文章
- plsql(轻量版)_记录类型1
- python怎么运行_程序员大牛讲解,Python程序的执行原理
- python解压打开文件过多_自动解压大量压缩文件 Python 脚本 | 学步园
- autoflowchart软件使用步骤_编程怎么入门,7个步骤带你飞, 网友:上车!
- 【小题目】判断一个数字是否是3的倍数
- 【Todo】Zookeeper系列文章
- 点击事件触发选择提示框
- Ubuntu连接以太网时显示“设备未托管”的解决办法
- 在Scrollview中使用AutoLayout
- find命令的技巧和一些例子