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 tomcat tomcat 9.0.19 UTF-8 1.8 1.8 junit junit 4.12 test org.apache.ant ant 1.10.11 wsdl4j wsdl4j 1.6.3 javax.xml.soap javax.xml.soap-api 1.4.0 org.apache.geronimo.specs geronimo-jaxrpc_1.1_spec 2.1 org.eclipse.jdt ecj 3.17.0 org.easymock easymock 4.0.2 test biz.aQute.bnd biz.aQute.bndlib 5.2.0 provided com.unboundid unboundid-ldapsdk 3.2.0
直接使用idea重新导入,jdk暂时选择1.8
4.问题解决
4.1控制台乱码
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
九月 29, 2021 3:52:17 上午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[149]毫秒。
九月 29, 2021 3:52:17乱码 修改conf/logging.properties的编码(现在默认utf-8,基本无修改) 警告: 使用[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可以直接注释
其他报错正常解决就行
您可能感兴趣的文章
- 01-12Docker部署rabbitmq遇到的两个问题
- 01-12最新虚拟机VMware 14安装教程
- 01-12使用docker compose安装harbor私有仓库的详细教程
- 01-12Windows下Docker安装各种软件的详细过程
- 01-12seata docker 高可用部署的详细介绍
- 01-12浅谈Tomcat多层容器的设计
- 01-12Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤
- 01-12解决vscode docker插件docker.socket权限问题
- 01-12Docker中运行PostgreSQL并推荐几款连接工具
- 01-12Docker核心原理之 Cgroup详解


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 12-05Docker安装Jenkins全过程
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法




