idea导入tomcat源码
2019独角兽企业重金招聘Python工程师标准>>>
下载tomcat源码
可从github上下载
https://github.com/apache/tomcat.git
在目录下面添加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</artifactId><name>tomcat8</name><version>8.0</version><build><finalName>tomcat8</finalName><sourceDirectory>java</sourceDirectory><!--<testSourceDirectory>test</testSourceDirectory> test 下的有些文件报错,因此将test文件夹去掉了--><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><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>2.6</version></plugin></plugins></build><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>ant</groupId><artifactId>ant</artifactId><version>1.6.5</version></dependency><dependency><groupId>org.easymock</groupId><artifactId>easymock</artifactId><version>3.4</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>--><!-- https://mvnrepository.com/artifact/org.eclipse.jdt/ecj --><dependency><groupId>org.eclipse.jdt</groupId><artifactId>ecj</artifactId><version>3.14.0</version></dependency></dependencies></project>
然后使用idea打开项目
然后安装ant,这里mac os可以直接brew install ant,也可以下载ant的安装包,添加到环境变量。
这里需要安装ant是因为我们要编译webapps下面的项目
然后进入到目录,执行ant命令,坐等几分钟后,tomcat编译完毕。
然后打开output->build->webapps目录
复制合并到tomcat目录下的webapps文件夹,因为后面启动tomcat需要用到webapps下面的web项目
所以需要编译,否则tomcat启动会报错丢失classes文件。
接下来 run->edit configurations
添加application
main-class org.apache.catalina.startup.Bootstrap
vm参数:请按照实际情况修改
-Dcatalina.home=/Users/zxc/github/apache/tomcat
-Dcatalina.base=/Users/zxc/github/apache/tomcat
-Djava.endorsed.dirs=/Users/zxc/github/apache/tomcat/endorsed
-Djava.io.tmpdir=/Users/zxc/github/apache/tomcat/temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=/Users/zxc/github/apache/tomcat/conf/logging.properties
注意在main方法运行前面加入,因为里面有个static代码块需要运行,否则无法编译jsp
JasperInitializer initializer =new JasperInitializer();
然后运行即可看到tomcat顺利启动
打开浏览器 localhost:8080即可看到熟悉的场景
接下来开启debug模式断点学习tomcat源码
说说遇到的问题:
1:比如没有编译webapps下面的example项目代码,导致打开浏览器是报错的页面。
2:jsp编译错误,需要先在main方法前面加入
JasperInitializer initializer =new JasperInitializer();
转载于:https://my.oschina.net/zxcholmes/blog/2052557
idea导入tomcat源码相关推荐
- 探秘Tomcat(一)——Myeclipse中导入Tomcat源码
前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生 ...
- tomcat依赖导入步骤_图说tomcat(三)导入tomcat源码到idea
前面两篇文章中我们提到了寻找tomcat的main函数,还有tomcat的启动加载过程,第一个还好,基本上都是通过.sh文件来看的,但第二个如果直接通过文本打开java文件就有点痛苦了,可能小伙伴看的 ...
- Eclipse 导入 Tomcat 源码
我的环境:Win10,Eclipse 4.8.0 Photon,JDK 10.0.2 1.下载Tomcat源码 我下载的是:apache-tomcat-9.0.12-src.zip 下载地址:http ...
- Eclipse导入Tomcat源码
http://www.cnblogs.com/huangfox/archive/2011/10/20/2218970.html 想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到 ...
- 导入tomcat源码:程序包aQute.bnd.annotation.spi不存在
<dependency><groupId>biz.aQute.bnd</groupId><artifactId>biz.aQute.bndlib< ...
- tomcat源码研究
使用idea导入tomcat源码 每次接触到一个源码. 第一做的就是看源码结构. 看官方文档. 看模块.逐步击破各个模块. 学会使用已有的知识进行推理.
- android sutdio导入源码教程,《AndroidStudio导入安卓源码-idegen》---可方便查看安卓源代码...
idegen是Android源码中的一个模块,需要编译一下.生成一个jar包.然后再进行构建生成AndroidStudio配置相关文件. > 什么是idegen 要将Android系统源代码工程 ...
- Tomcat源码解析一:下载源码与导入eclipse
自从写web程序以来,web程序是如何在Tomcat中运行的一直困惑着我,不知道底层的运行机制是无法真正理解web的,所以就开始研究Tomcat源码,Tomcat是一个轻量级的java服务器,再结合& ...
- Tomcat - 源码构建Tomcat 8.5.55 启动
文章目录 官方地址 源码搭建分析 源码搭建步骤 (Maven管理) Step1. 新增maven管理文件 pom.xml Step2. 处理conf 和 webapps Step3. 导入IEDA 3 ...
- eclipse导入Tomcat8源码
最近这段时间在学习how tomcat works这本书,需要结合书上的例子对照tomcat源码来看,需要导入tomcat的源码,所以在网上找了很多教程,结合自己遇到的问题,记录如下: 1.前期准备 ...
最新文章
- scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离
- 有道概率题:一个有趣的抛硬币问题
- ubuntu 环境下调试mysql源码_【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装
- loj #6235. 区间素数个数
- Nginx的配置实例(反向代理实例 )
- wxpython 调用子窗口_wxpython简介
- Mac使用VMware、Ubuntu安装配置虚拟机Linux
- 关于winfrom中如何快速导出DataGridView数据到excel中的问题
- 设计模式:卑微的代理模式
- ubuntu安装matlab2016b
- 开启win10隐藏语音库
- PEWIN32 PRO site key
- 固定定位的盒子使用margin:0 auto;是无法水平居中的,此时该怎么操作呢?
- Linux指令详解(Linux入门博文)
- react 实现滚动加载_在React中实现平滑滚动
- 2020新区势峰会精彩回顾,预见“金融科技+区块链”的下一站
- SSL证书信任问题处理,两种解决方案
- java之class文件解析
- 操作系统概念(一)——导论
- 【matlab】皮尔逊相关系数