Tomcat源码导入idea的方法
目录
- 1.下载tomcat代码
- 2.下载之后的目录结构
- 3.源码使用ant构建(这里改用pom)
- 4.问题解决
- 4.1控制台乱码
- 4.2访问8080报错jsp等class找不到
- 5.访问localhost:8080
1.下载tomcat代码 本文选择9.0分支,此版本servlet还是javax开头的 github
2.下载之后的目录结构
文章图片
3.源码使用ant构建(这里改用pom)
4.0.0 org.apache.tomcat tomcattomcat 9.0.19 UTF-81.8 1.8 junit junit4.12 testorg.apache.ant ant1.10.11 wsdl4j wsdl4j1.6.3 javax.xml.soap javax.xml.soap-api1.4.0 org.apache.geronimo.specs geronimo-jaxrpc_1.1_spec2.1 org.eclipse.jdt ecj3.17.0 org.easymock easymock4.0.2 testbiz.aQute.bnd biz.aQute.bndlib5.2.0 providedcom.unboundid unboundid-ldapsdk3.2.0
直接使用idea重新导入,jdk暂时选择1.8
4.问题解决
4.1控制台乱码
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。【Tomcat源码导入idea的方法】九月 29, 2021 3:52:17乱码 修改conf/logging.properties的编码(现在默认utf-8,基本无修改) 警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[149]毫秒 乱码
九月 29, 2021 3:52:17 上午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[149]毫秒。
这里的乱码本质原因是properties文件乱码,tomcat采用系统的读取配置文件方式,使用的是URL.openStream,然后采用properties.load方法,这样会导致乱码
解决方案
文章图片
把两个国际化文件读取重写Localizer、StringManager
4.2访问8080报错jsp等class找不到
org.apache.catalina.startup.ContextConfig#configureStart方法加一句代码//TODO 手工加的context.addServletContainerInitializer(new JasperInitializer(), null);
文章图片
5.访问localhost:8080
文章图片
完
注意点,有其他编译选项发,jdk11-16可以直接注释
其他报错正常解决就行
到此这篇关于Tomcat源码导入idea的文章就介绍到这了,更多相关Tomcat源码导入idea内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Linux下面如何查看tomcat已经使用多少线程
- Android事件传递源码分析
- 探索免费开源服务器tomcat的魅力
- Quartz|Quartz 源码解析(四) —— QuartzScheduler和Listener事件监听
- 没有导入future这个module
- [源码解析]|[源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3)
- ffmpeg源码分析01(结构体)
- Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!
- R|R for data Science(六)(readr 进行数据导入)
- Vue源码分析—响应式原理(二)