当前位置: 首页 > news >正文

【Tomcat】IDEA编译Tomcat源码-手把手教程

一、环境准备

Tomcat不同版本之间有一定的兼容性问题~

如下图所示:

官网地址:https://tomcat.apache.org/whichversion.html

下载tomcat9官网上面的源码:

这一篇文章主要是带着大家在自己的IDEA跑起来一个Tomcat。

使用的版本是Tomcat9.0.55JDK8。

另外插一句,虽然官网上面讲两者是可以兼容的,但是我在做自己的项目的时候,就因为使用了Tomcat9一直报“资源不可用”之类的错误,后面换成了Tomcat8.0就可以了......

看了网络上面也有很多小伙伴表示遇到过同样的问题!也是将Tomcat版本降到8或者是将JDK升到11就可以了。

不过上述内容与本章内容是不冲突的,大家可以使用下文给出的本人的Tomcat源码仓库地址自行下载!

二、Tomcat源码下载

Gitee地址:

TomcatSource: 基于Tomcat9.0.55的源码,我们可以在IDEA上面编译调试。 (gitee.com)

三、部署&&编译

1.修改项目结构

将下载下来的源码压缩包解压,然后在解压后的目录中新建pom.xml文件, pom文件内容如下:

<?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"><groupId>com.tuling</groupId><artifactId>mvc</artifactId><version>1.0-SNAPSHOT</version><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target></configuration></plugin></plugins></build><modelVersion>4.0.0</modelVersion><packaging>war</packaging><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.13</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.56</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version></dependency></dependencies>
</project>

2.构建项目

使用IDEA 选中pom.xml,以maven的项目导入

构建好项目后配置启动参数

添加Main class

org.apache.catalina.startup.Bootstrap

添加VM options

注意:要根据自己的实际情况修改!

-Dcatalina.home=D:/JavaSource/Tomcat/apache-tomcat-9.0.55-src 
-Dcatalina.base=D:/JavaSource/Tomcat/apache-tomcat-9.0.55-src 
-Djava.endorsed.dirs=D:/JavaSource/Tomcat/apache-tomcat-9.0.55-src/endorsed 
-Djava.io.tmpdir=D:/JavaSource/Tomcat/apache-tomcat-9.0.55-src/temp 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
-Djava.util.logging.config.file=D:/JavaSource/Tomcat/apache-tomcat-9.0.55-src/conf/logging.properties 
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=8025 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Duser.language=en -Duser.region=US

JDTCompiler关于版本报错部分注释掉

修改源码ContextConfig类,将JSP解析器初始化

3.启动运行

访问浏览器:http://localhost:8080/

http://www.lryc.cn/news/16851.html

相关文章:

  • 如何弄小程序?公司企业可以这样做小程序
  • 【Git】IDEA集合Git和码云
  • [USACO03FALL / HAOI2006] 受欢迎的牛 G(C++,强连通分量)
  • Vue 动态路由接口数据结构化为符合VueRouter的声明结构及菜单导航结构、动态路由懒加载方法
  • Python----------字符串
  • 日志收集笔记(架构设计、Log4j2项目初始化、Lombok)
  • 一文教你玩转 Apache Doris 分区分桶新功能|新版本揭秘
  • 数据挖掘,计算机网络、操作系统刷题笔记54
  • 将数组中的每个元素四舍五入到指定的精度numpy.rint()
  • Web安全之服务器端请求伪造(SSRF)类漏洞详解及预防
  • LeetCode:239. 滑动窗口最大值
  • JS 函数参数(动态参数、剩余参数)
  • 365天深度学习训练营-第J3周:DenseNet算法实战与解析
  • Parisland NFT 作品集
  • uniapp: 基础开发官网文档
  • mybatis中配置连接池的原理介绍分析
  • 二叉树——路径总和
  • WebDAV之π-Disk派盘+文件管理器
  • form表单单输入框回车提交事件处理
  • c++常用stl算法
  • 非对称密钥PKCS#1和PKCS#8格式互相转换(Java)
  • java获取当前时间的方法:LocalDateTime、Date、Calendar,以及三者的比较
  • npm link
  • Docker 如何配置镜像加速
  • 阅读笔记7——Focal Loss
  • ZCMU--5009: 龙虎斗
  • 创建项目(React+umi+typeScript)
  • FISCO BCOS(二十七)———java操作WeBase
  • 失眠时还在吃它?有风险,你了解过吗
  • 星戈瑞收藏Sulfo-CY7 amine/NHS ester/maleimide小鼠活体成像染料标记反应