编译Tomcat9源码及tomcat乱码问题解决
因工作原因,需要从根本上优化tomcat的配置,故准备从源码入手,看看可以做哪些工作。
1. tomcat下载
tomcat最新的版本为9,下载源码的方式有3种:
1/ 官方网站 https://tomcat.apache.org/download-90.cgi,下载如下zip或者tar.gz解压,最新的release版本为9.0.22
2/github
gitclone https://github.com/apache/tomcat.git 或者下载压缩包,gitclone得到tomcat目录
压缩包默认得到tomcat-master目录,如下图所示
3/svn
https://svn.apache.org/repos/asf/tomcat/trunk/
2. tomcat的编译
准备工作
C:\Users\86137>java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode) C:\Users\86137>ant -version Apache Ant(TM) version 1.9.14 compiled on March 12 2019
编译命令
cd ${tomcat.source} ant
或者eclipse支持
cd ${tomcat.source} ant ide-eclipse
3.导入ide(eclipse为例)
准备工作
增加两个classpath变量
导入
File->Import->General->Existing Projects into Workspace->选择Tomcat源码的根目录,单击完成即可导入。
导入完成之后,项目自动完成编译。
4.启动
配置1
配置2
启动成功
5. 可能出现的问题
tomcat 显示乱码,-Dfile.encoding=UTF8 或者GBK 都不行,网上各种回答都不能根本解决问题。调试VersionLoggerListener进行发现
修改-Dfile.encoding=UTF8 或者GBK 都 能起效,但乱码仍然不能解决。
进入StringManager sm变量发现,local为zh_cn时,启用的属性文件本身的编码就是乱码,尝试了不少解决办法如修改eclipse的默认方式为utf-8 都不行,网上各种方式也试过。
均不好用。那我们就绕过去吧,将local设置为us不容易报错。修改启动参数,如下所示。
此时,启动显示如下:(全部英文,不再乱码)
参考资料:
【1】https://www.cnblogs.com/davidwang456/articles/11068822.html
相关文章
- Tomcat进程意外退出的问题分析
- 在系统下文件上传报错:The temporary upload location [/tmp/tomcat.xxx/work/Tomcat/localhost/ROOT] is not valid
- Tomcat 配置 项目 到tomcat目录外面 和 域名绑定访问(api接口、前端网站、后台管理网站)
- Tomcat 之session 持久化2
- Maven 集成Tomcat插件(引用)
- Tomcat 第一篇:源码导入 IDEA 编辑器
- CVE-2020-1938 Tomcat任意文件读取漏洞复现
- Tomcat详解(二)——tomcat安装与配置
- 更改tomcat启动的端口号
- WebClient UI和Tomcat的启动器
- Atitit webserver tomcat 7 8.0 8.5 9.0新特性 Tomcat 7 的七大新特性 - 编程语言 - ITeye资讯.html tomcat 8.0特性 - CSD
- Tomcat参数设置,解决内存溢出问题
- Linux随笔(安装ftp,安装jdk,安装 tomcat,安装redis,安装MySQL,安装svn)
- 【项目实战】Tomcat源码分析,热部署原理
- tomcat 可部署4种方式
- 009-tomcat源码阅读1-Lifecycle、LifecycleState、LifecycleListener、LifecycleBase、LifecycleMBeanBase
- 002-tomcat目录简介、应用部署【自动部署 ② 控制台部署 ③ 自定义部署】
- Tomcat服务器的默认端口是多少?怎样修改tomcat的端口?
- Tomcat 中的 NIO 源码分析
- Tomcat 一文带你了解tomcat体系结构
- Shell脚本一键安装-----Tomcat服务
- ⭐万字长篇超详细的图解Tomcat中间件方方面面储备知识⭐