ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Tomcat(二)源码调试环境搭建

2021-09-06 21:32:28  阅读:189  来源: 互联网

标签:8.5 Tomcat tomcat 51 源码 apache 根目录 调试


编译运行 tomcat-8.5 源码

Ant 环境并于源码生成必要的 jar 包

下载二进制包:https://ant.apache.org/bindownload.cgi

在这里插入图片描述
下载后解压到想要安装的位置,然后配置 Ant 的环境变量:

  1. ANT_HOME C:\mySoftware\ant1.9
  2. PATH 中添加一条:%ANT_HOME%/bin

检查是否完成 Ant 环境配置:
cmd–>ant -version

前提 :jdk 环境已经准备好。

Tomcat 源码包导入

下载 tomcat 源码:https://tomcat.apache.org/download-80.cgi
tomcat-8.5.70

解压导入后使用 idea 打开根目录:
在这里插入图片描述

修改一下 build.properties.default 中的 base.path
ant 编译时会把需要的 jar 包放到这个路径下:
在这里插入图片描述

在 项目根目录下进入 cmd 命令行,执行 ant 命令:

  1. 在根目录会生成一个 output 目录,把里面 .\output\build 下的 lib 目录拷贝到项目的根目录下
  2. 添加其他需要的 jar 包到根目录下的 lib
    整理晚的链接: 提取码: e221

配置 JVM 参数

-Dcatalina.home=E:\Projects\IdeaProjects\apache-tomcat-8.5.51-src
-Dcatalina.base=E:\Projects\IdeaProjects\apache-tomcat-8.5.51-src
-Djava.io.tmpdir=E:\Projects\IdeaProjects\apache-tomcat-8.5.51-src\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=E:\Projects\IdeaProjects\apache-tomcat-8.5.51-src\conf\logging.properties
-Dfile.encoding=UTF-8

在这里插入图片描述

乱码问题:

问题原因:编码不一致,源码中很多代码写的指定的编码格式是:ISO_8859_1

解决:把项目设置成 UTF-8 编码,然后找对应乱码的出错的位置,使用下面的方法准换编码:
str= new String(str.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);

  1. org.apache.jasper.compiler.Localizer.java 中 getMessage 方法:
    在这里插入图片描述

  2. org.apache.tomcat.util.res.StringManager.java 中 getString 方法:
    在这里插入图片描述

已配置好的项目地址: hubo-admin/apache-tomcat-8.5.51-src

运行结果

在这里插入图片描述
在这里插入图片描述

标签:8.5,Tomcat,tomcat,51,源码,apache,根目录,调试
来源: https://blog.csdn.net/qq_33471737/article/details/120123990

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有