首页 > 编程语言 >Idea调试Tomcat源码

Idea调试Tomcat源码

时间:2023-10-16 17:13:08浏览次数:54  
标签:Tomcat tomcat zhenghan Idea 源码 https apache org

一、下载Tomcat

  • 源码Source Code:https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.93/src/apache-tomcat-8.5.93-src.zip
  • Binary:https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.93/bin/apache-tomcat-8.5.93.zip

建议保持这俩版本一致,不然会出现各种找不到类,方法的情况等。

  • 解压Binary
  • 解压Source Code

参考链接:

https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.93/src/
https://tomcat.apache.org/download-80.cgi 

 

二、Tomcat调试环境配置

创建一个maven项目,

  • 将源码解压目录中的 conf、webappas 直接复制到上面新建的项目根路径下/Users/zhenghan/Projects/debug_tomcat
  • 将源码解压目录中的 java、modules 直接复制到 /Users/zhenghan/Projects/debug_tomcat/src/main
  • 将Binary解压木马中的 lib 直接复制到 /Users/zhenghan/Projects/debug_tomcat

文件拷贝后目录结构如下,

修改 /Users/zhenghan/Projects/debug_tomcat/pom.xml,

<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.apache</groupId>
    <artifactId>tomcatcode</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.7.0</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.5.1</version>
        </dependency>
    </dependencies>

</project>

配置File->setting-> java compiler,

project bytecode version和jdk版本要一致,

File->project structure->modules,先设置module sdk版本,和你的jdk版本一直,同时引入刚才复制到根目录的lib包中所有jar。

test模块会报错,删掉就行,

然后就可以配置启动程序了。

Run->Edit Configurations点击加号,增加Application,如下图配置

  • org.apache.catalina.startup.Bootstrap
  • -Dcatalina.home="/Users/zhenghan/Projects/debug_tomcat"(你的项目路径)

最后,启动tomcat,访问http://127.0.0.1:8080/ 

访问成功,就可以在Bootstrap类,main方法中打断点了。 

 

参考链接:

https://zhuanlan.zhihu.com/p/35454131 
https://developer.aliyun.com/article/666276
https://www.cnblogs.com/huim/p/16614196.html
https://blog.csdn.net/qq_35262405/article/details/101780644

 

标签:Tomcat,tomcat,zhenghan,Idea,源码,https,apache,org
From: https://www.cnblogs.com/LittleHann/p/17735106.html

相关文章

  • Avalonia 实现视频聊天、远程桌面(源码,支持Windows、Linux、国产OS)
      现在最火的.NET跨平台UI框架莫过于Avalonia了。Avalonia基于.NETCore,因此它可以运行在任何支持.NETCore的平台上。之前基于CPF跨平台UI框架写过一个视频聊天的demo,而现在看来Avalonia是大势所趋,于是,我再写一个Avalonia版本的Demo来供大家参考,它可以在Windows和Linux(包括国......
  • SpringBoot+内置Tomcat配置,参数调优,最大并发量,最大连接数
    最近在研究这块的信息,记录下一些大神的文章:SpringBoot最大连接数及最大并发数是多少???https://blog.csdn.net/weixin_44421461/article/details/132486085SpringBoot+内置Tomcat配置,参数调优,最大并发量,最大连接数https://blog.csdn.net/myyhtw/article/details/129069586Sprin......
  • Nacos源码 (7) Nacos与Spring
    SpringCloud工程可以使用Nacos作为注册中心和配置中心,配置和使用非常简单,本文将简单介绍使用方式,并分析其实现方式。SpringCloud工程集成NacosSpringCloud工程使用Nacos非常简单,只需要引入依赖、编写配置参数、在启动类上添加注解即可。引入依赖<dependencyManagement><dep......
  • Avalonia 实现视频聊天、远程桌面(源码,支持Windows、Linux、国产OS)
        现在最火的.NET跨平台UI框架莫过于Avalonia了。Avalonia基于.NETCore,因此它可以运行在任何支持.NETCore的平台上。之前基于CPF跨平台UI框架写过一个视频聊天的demo,而现在看来Avalonia是大势所趋,于是,我再写一个Avalonia版本的Demo来供大家参考,它可以在Windows和Linux......
  • Vue源码学习(十一):计算属性computed初步学习
    好家伙,  1.Computed实现原理if(opts.computed){initComputed(vm,opts.computed);}functioninitComputed(vm,computed){//存放计算属性的watcherconstwatchers=vm._computedWatchers={};for(constkeyincomputed){constuser......
  • java项目实践-tomcat实现用户登录-day17
    目录1.安装2.初识tomcat2.创建tomcat项目3.启动之前3.javajsp4.RequestResponse对象的其他属性5.用户登录小功能1.安装tomcat.apache.org下载链接:https://tomcat.apache.org/download-80.cgi2.初识tomcatbinstart.bat-->localhost:8080(JDK依赖)shutdowm.bat......
  • IntelliJ IDEA 2023.2.3 最新版安装激活教程
    1.下载安装IntelliJIDEA建议大家直接在官网下载最新版本,登陆官网,我下载的是的2023.2.3,2023最新版本以及2021版本以上的版本都支持。一步一步确定安装,然后打开这里提示输入激活码,先关闭应用!!!2.下载激活工具打开下载好的工具windows的样子打开scripts文件夹......
  • 《人人都是数据分析师》高清高质量PDF电子书+源码
    下载:https://pan.quark.cn/s/3f61395b8d51......
  • 《Head First JavaScript程序设计》高清高质量 原版电子书PDF+源码
    下载:https://pan.quark.cn/s/9b368a216582......
  • Android WebView获取html源码
    通过执行js语句来获取valcode="""document.documentElement.outerHTML""".trimIndent()webview.evaluateJavascript(code){value->valhtmlContent=if(value==null){""}else{//这里需要处理下......