如何将tomcat源码以maven方式运行_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方式运行内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:Java(JDK/Tomcat/Maven)运行环境配置及工具(idea/eclipse)安装详细教程IDEA创建maven项目时在tomcat运行浏览器404的问题IDEA Maven项目使用debug模式运行Tomcat的详细教程Maven 修改tomcat运行版本和端口的实现方法Eclipse中导入Maven Web项目并配置其在Tomcat中运行图文详解

  • 本文相关:
  • apache结合tomcat实现动静分离的方法
  • maven使用tomcat8-maven-plugin插件的详细教程
  • tomcat启动时报错:java.lang.unsatisfiedlinkerror的解决
  • linux小技巧分享之如何重新启动tomcat
  • 详解tomcat双击startup.bat闪退的解决方法
  • 使用tomcat native提升tomcat io效率的方法详解
  • windows server利用批处理脚本判断端口启动tomcat的方法
  • tomcat显示8080端口被占用的图文解决方法
  • 为eclipse和idea配置tomcat服务器的方法
  • tomcat并发优化方法介绍
  • maven项目怎么用tomcat跑
  • eclipse里的maven项目怎么在tomcat里部署和运行啊?
  • 在eclipse中 maven 工程运行在tomcat中 如何调试第...
  • Maven 多模块web项目如何集成到tomcat里面去 然后...
  • 如何通过Maven的Tomcat插件运行Web工程
  • maven怎么运行电脑安装的tomcat
  • 如何使用maven配置tomcat
  • 基于maven的spring boot 架构的项目如何部署在tomc...
  • maven tomcat 插件运行的是哪个tomcat
  • 在maven运行tomcat,运行servlet报错?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器tomcat java(jdk/tomcat/maven)运行环境配置及工具(idea/eclipse)安装详细教程idea创建maven项目时在tomcat运行浏览器404的问题idea maven项目使用debug模式运行tomcat的详细教程maven 修改tomcat运行版本和端口的实现方法eclipse中导入maven web项目并配置其在tomcat中运行图文详解apache结合tomcat实现动静分离的方法maven使用tomcat8-maven-plugin插件的详细教程tomcat启动时报错:java.lang.unsatisfiedlinkerror的解决linux小技巧分享之如何重新启动tomcat详解tomcat双击startup.bat闪退的解决方法使用tomcat native提升tomcat io效率的方法详解windows server利用批处理脚本判断端口启动tomcat的方法tomcat显示8080端口被占用的图文解决方法为eclipse和idea配置tomcat服务器的方法tomcat并发优化方法介绍tomcat7.0安装配置详细(图文)直接双击启动tomcat中的startup.tomcat中更改网站根目录和默认页在tomcat中部署web项目的操作方法如何修改tomcat默认端口号8080的关于tomcat的server.xml里host节tomcat环境变量详细配置步骤tomcat启动报错:java.util.zip.tomcat启动startup.bat一闪而过问启动tomcat时 错误: 代理抛出异常idea编辑器整合apache tomcat的详细教程linux下安装tomcat7.0.82的简单方法修改tomcat运行时jvm编码问题centos系统下安装tomcat7的过程详解tomcat部署项目的几种常见方式[亲测]ansible批量部署tomcat的方法如何验证tomcat gzip配置是否生效的方法详解tomcat是如何实现异步servlet的如何让tomcat服务增加java启动命令通过tomcat开启jmx监控的方法图解
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved