欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tomcat源码系列---环境搭建

程序员文章站 2024-03-25 15:53:52
...

使用Idea + Maven搭建Tomcat源码的开发环境。使用的Tomcat是8.5.23版本,Tomcat是用Ant构建的,基于本人或大部分开发习惯于Maven,所以采用Maven来构建Tomcat源码项目。

  1. 下载Tomcat源码包和软件包
    https://tomcat.apache.org/download-80.cgitomcat源码系列---环境搭建
    由于源码中没有Tomcat启动需要的lib和其他配置,其实软件包只是为了启动源码项目时对应catalina.home。

  2. 生成Meven项目
    创建一个Maven项目,让后将Tomcat源码包解压出来的文件拷贝到Maven项目里,配置pom依赖和指定打包资源位置和打包插件。
    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">
    <parent>
        <artifactId>sources</artifactId>
        <groupId>com.github.sources</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.github.sources</groupId>
    <artifactId>source-tomcat</artifactId>
    <version>8.5.23</version>
    <name>source-tomcat</name>
    <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.10.1</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</groupId>
            <artifactId>org.eclipse.jdt.core</artifactId>
            <version>3.13.0</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.5.1</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>Tomcat8.5</finalName>
        <sourceDirectory>java</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>
        <resources>
            <resource>
                <directory>java</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>test</directory>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
  1. 编译与启动
    • 编译
      会有些测试类报错,可以注释掉,跳过测试进行编译
    • 启动
      Tomcat的程序入口在org.apache.catalina.startup.Bootstrap类里面的main方法,在静态代码块中有个主要的逻辑是JVM加载Bootstrap.class时,会去读取系统设置的catalina.home变量代表的路径作为Tomcat安装路径。
      tomcat源码系列---环境搭建
      启动配置下的run或debug,就和我们平时启动的tomcat一样。

文章写得直接明了,没有过多的说明,可参考:
https://blog.csdn.net/qq_27680317/article/details/78380540