iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >如何将tomcat源码以maven方式运行
  • 330
分享到

如何将tomcat源码以maven方式运行

2024-04-02 19:04:59 330人浏览 泡泡鱼
摘要

前言 最近在分析Tomcat的启动流程,虽然我们可以在idea中查看到tomcat的源代码,但是我们不能在上面做一些代码注释,这就会 非常的不方便,所以我们还是能在本地 运行一份源码

前言

最近在分析Tomcat的启动流程,虽然我们可以在idea中查看到tomcat的源代码,但是我们不能在上面做一些代码注释,这就会 非常的不方便,所以我们还是能在本地 运行一份源码,这样非常有利于我们分析源码

一、下载tomcat源码,选择tomcat-8.5.55版本

进入tomcat官网,点击左侧菜单栏Download对应的版本,下载源码

二、idea中创建项目

1.在idea中创建一个空白项目,名称为tomcat_study

2.打开项目源目录,将tomcat的源码解压到其中

3.创建文件夹

在tomcat的源码文件夹下面创建home目录,把源码中的conf目录和WEBapps目录剪切到其中(其他新建的目录如logs等),另外新建Maven的pom.xml文件。

4、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>org.apache.tomcat</groupId>
 <artifactId>Tomcat8.5.55</artifactId>
 <name>Tomcat8.5.55</name>
 <version>8.5.55</version>
 
 <dependencies>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.12</version>
   <scope>test</scope>
  </dependency>
 
  <dependency>
   <groupId>org.easymock</groupId>
   <artifactId>easymock</artifactId>
   <version>3.4</version>
  </dependency>
 
  <dependency>
   <groupId>org.apache.ant</groupId>
   <artifactId>ant</artifactId>
   <version>1.9.5</version>
  </dependency>
 
  <dependency>
   <groupId>javax.xml.rpc</groupId>
   <artifactId>javax.xml.rpc-api</artifactId>
   <version>1.1</version>
  </dependency>
 
  <dependency>
   <groupId>wsdl4j</groupId>
   <artifactId>wsdl4j</artifactId>
   <version>1.6.2</version>
  </dependency>
 
  <dependency>
   <groupId>org.eclipse.jdt.core.compiler</groupId>
   <artifactId>ecj</artifactId>
   <version>4.5.1</version>
  </dependency>
 </dependencies>
 
 <build>
  <finalName>Tomcat8.5.55</finalName>
  <sourceDirectory>java</sourceDirectory>
  <resources>
   <resource>
    <directory>java</directory>
   </resource>
  </resources>
  <plugins>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
     <encoding>UTF-8</encoding>
     <source>1.8</source>
     <target>1.8</target>
    </configuration>
   </plugin>
  </plugins>
 </build>
</project>

5、tomcat启动配置 

5.1 构建项目

完成上面的操作以后,我们在idea中重新打开项目,直接选中我们增加的pom.xml文件,将所以的包下载完成以后,构建项目结构。

5.2 设置Run/Debug configurations

 其中


Main class:
org.apache.catalina.startup.Bootstrap
 
VM options 按照自己的路径进行修改:
-Dcatalina.home=G:/projects/tomcat_study/apache-tomcat-8.5.55-src/home 
-Dcatalina.base=G:/projects/tomcat_study/apache-tomcat-8.5.55-src/home 
-Djava.endorsed.dirs=G:/projects/tomcat_study/apache-tomcat-8.5.55-src/home/endorsed 
-Djava.io.tmpdir=G:/projects/tomcat_study/apache-tomcat-8.5.55-src/home/temp 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
-Djava.util.logging.config.file=G:/projects/tomcat_study/apache-tomcat-8.5.55-src/home/conf/logging.properties

5.3 设置ContextConfig类

然后打开ContextConfig(org.apache.catalina.startup 下面) 类,加上一行代码:context.addServletContainerInitializer(new JasperInitializer(),null); 

5.4 启动tomcat

即可debug查看tomcat的初始化和启动过程以及其他源码执行,入口类就是Bootstrap类的main方法。 

总结

通过上面过程,我们就可以 将tomcat源码通过maven方式在本地运行起来,小编已经成功运行起来,并且对tomcat中 调用servlet初始化的流程进行了注释

到此这篇关于如何将tomcat源码以maven方式运行的文章就介绍到这了,更多相关tomcat源码以maven方式运行内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何将tomcat源码以maven方式运行

本文链接: https://www.lsjlt.com/news/122671.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何将tomcat源码以maven方式运行
    前言 最近在分析tomcat的启动流程,虽然我们可以在idea中查看到tomcat的源代码,但是我们不能在上面做一些代码注释,这就会 非常的不方便,所以我们还是能在本地 运行一份源码...
    99+
    2024-04-02
  • 怎么将tomcat源码以maven方式运行
    本篇文章给大家分享的是有关怎么将tomcat源码以maven方式运行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、下载tomcat源码,选择tomcat-8.5.55版本进...
    99+
    2023-06-14
  • 详解如何更改SpringBoot TomCat运行方式
    1. 为什么要更改SpringBoot运行方式? Tomcat Connector(连接器)有三种运行模式:bio nio apr bio(blocking I/O) 即阻...
    99+
    2024-04-02
  • tomcat运行乱码如何解决
    Tomcat运行乱码通常是由于字符编码设置不正确导致的。以下是几种可能的解决方法:1. 在Tomcat的配置文件中设置字符编码。在T...
    99+
    2023-10-09
    tomcat
  • 运行php源码报错index如何解决
    本篇内容介绍了“运行php源码报错index如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!确认文件路径是否正确“index”报错通常...
    99+
    2023-07-05
  • tomcat运行网页出现中文乱码如何解决
    出现中文乱码可能是由于以下原因:1. 编码不一致:确保网页的编码与服务器配置的编码一致。一般情况下,UTF-8是一个可以支持多种语言...
    99+
    2023-09-27
    tomcat
  • python如何在运行状态查看源代码
    这篇文章将为大家详细讲解有关python如何在运行状态查看源代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何在运行状态查看源代码查看函数的源代码,我们通常会使用 IDE 来完成。比如在 PyChar...
    99+
    2023-06-27
  • 如何以武侠形式理解Java LinkedList源码
    如何以武侠形式理解Java LinkedList源码,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、LinkedList 的剖白大家好,我是 LinkedLi...
    99+
    2023-06-25
  • Win7系统软件无法正常运行如何启用以兼容方式运行选项
      有时候,在Windows 7系统中操作过程中会遇到软件无法正常运行的问题,这时用户首先考虑的是兼容问题,然而右键软件选择以兼容运行模式,发现没有“以兼容方式运行”的选项,怎么回事呢其实默认情况...
    99+
    2023-06-08
    Win7 兼容 方式 软件 运行 系统
  • Python 如何将运行结果导出为 CSV 格式?
    在 Python 中,我们常常会遇到需要将运行结果以 CSV 格式导出以供其他语言或工具使用的情况。本文将介绍如何使用 Python 将结果导出为 CSV 格式的两种主要方法。 方法一:使用 csv 模块 csv 模块是 Python 自...
    99+
    2023-09-01
    python pandas 开发语言
  • 如何理解SpringBoot核心运行原理和运作原理源码
    如何理解SpringBoot核心运行原理和运作原理源码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SpringBoot核心运行原理Spr...
    99+
    2024-04-02
  • 如何用Python代码将运行效率提升17倍
    这期内容当中小编将会给大家带来有关如何用Python代码将运行效率提升17倍,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Mandelbrot集是一个涉及位运算、递归和虚...
    99+
    2024-04-02
  • Shell四种运行方式/启动方式如何实现
    这篇文章主要介绍“Shell四种运行方式/启动方式如何实现”,在日常操作中,相信很多人在Shell四种运行方式/启动方式如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell四种运行方式/启动方式如...
    99+
    2023-06-09
  • PyCharm中如何在运行状态下查看源代码
    这篇文章主要介绍了PyCharm中如何在运行状态下查看源代码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何在运行状态下查看源代码查看该函数的源代码,我们通常使用IDE来完...
    99+
    2023-06-27
  • screw Maven插件方式运行时在编译打包时跳过执行的问题如何解决
    今天小编给大家分享一下screw Maven插件方式运行时在编译打包时跳过执行的问题如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下...
    99+
    2023-07-05
  • 我们如何以批处理模式运行MySQL语句?
    我们需要创建一个用于批处理模式下运行MySQL的.sql文件。这个文件将包含MySQL语句。假设我有一个hh.sql文件,其中我写了一个select * from hh的语句。借助以下命令,我们可以以批处理模式运行这个文件 −示例...
    99+
    2023-10-22
  • 如何用RedHat 6.4源码方式安装mysql5.5
    这期内容当中小编将会给大家带来有关如何用RedHat 6.4源码方式安装mysql5.5,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。准备rpm包yum install ...
    99+
    2024-04-02
  • 如何用源码方式搭建LNMP环境
    这篇文章主要讲解了“如何用源码方式搭建LNMP环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用源码方式搭建LNMP环境”吧!源码方式搭建LNMP环境1、安装 RedHat8Cento...
    99+
    2023-07-05
  • 如何通过源码包方式安装Percona server
    这篇文章将为大家详细讲解有关如何通过源码包方式安装Percona server,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Installing Percona Serv...
    99+
    2024-04-02
  • Centosz中如何使用源码方式安装python3
    本文小编为大家详细介绍“Centosz中如何使用源码方式安装python3”,内容详细,步骤清晰,细节处理妥当,希望这篇“Centosz中如何使用源码方式安装python3”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作