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

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

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

  2. 生成Meven项目
    创建一个Maven项目,让后将Tomcat源码包解压出来的文件拷贝到Maven项目里,配置pom依赖和指定打包资源位置和打包插件。
    tomcat源码系列---环境搭建_第2张图片

pom.xml文件内容


<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>sourcesartifactId>
        <groupId>com.github.sourcesgroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>

    <groupId>com.github.sourcesgroupId>
    <artifactId>source-tomcatartifactId>
    <version>8.5.23version>
    <name>source-tomcatname>
    <dependencies>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.12version>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>org.easymockgroupId>
            <artifactId>easymockartifactId>
            <version>3.4version>
        dependency>
        <dependency>
            <groupId>org.apache.antgroupId>
            <artifactId>antartifactId>
            <version>1.10.1version>
        dependency>
        <dependency>
            <groupId>wsdl4jgroupId>
            <artifactId>wsdl4jartifactId>
            <version>1.6.2version>
        dependency>
        <dependency>
            <groupId>javax.xmlgroupId>
            <artifactId>jaxrpcartifactId>
            <version>1.1version>
        dependency>
        <dependency>
            <groupId>org.eclipse.jdtgroupId>
            <artifactId>org.eclipse.jdt.coreartifactId>
            <version>3.13.0version>
        dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compilergroupId>
            <artifactId>ecjartifactId>
            <version>4.5.1version>
        dependency>
    dependencies>

    <build>
        <finalName>Tomcat8.5finalName>
        <sourceDirectory>javasourceDirectory>
        <testSourceDirectory>testtestSourceDirectory>
        <resources>
            <resource>
                <directory>javadirectory>
            resource>
        resources>
        <testResources>
            <testResource>
                <directory>testdirectory>
            testResource>
        testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.6.1version>
                <configuration>
                    <encoding>UTF-8encoding>
                    <source>1.8source>
                    <target>1.8target>
                configuration>
            plugin>
        plugins>
    build>

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

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

你可能感兴趣的:(tomcat源码系列)