Tomcat8源码分析系列-环境搭建

前言

  • 为什么要学习tomcat源码?

tomcat是目前非常流行的web容器,其性能和稳定性也是非常出色的,学习其框架设计和底层的实现,不管是使用、性能调优,还是应用框架设计方面,肯定会有很大的帮助

  • tomcat版本

该系列博客的tomcat版本是8.5.24

下载源码

从apache官网下载tomcat源码包,本人以8.5.24版本为例,http://tomcat.apache.org/download-80.cgi

maven

本人习惯使用maven,因此将源码转成maven工程。新建pom.xml,加入相关依赖,如附录所示

导入开发工具

导入maven项目,因为有些测试类依赖了examples目录的类,因此把apache-tomcat-8.5.24-src\webapps\examples\WEB-INF\classes目录在开发工具上面设置为java源文件,编译的class输出目录设为classes,如下图所示

Tomcat8源码分析系列-环境搭建_第1张图片

上传源码

在看源码过程中经常需要对源码进行注释,建议大家把源码上传至自己的git,方便后续查漏补缺。tips:在.gitignore文件需要忽略target目录(class文件输出目录)

附上本人的码云地址,[email protected]:bestkobe/tomcat.git

附录

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">

    <modelVersion>4.0.0modelVersion>
    <groupId>org.apachegroupId>
    <artifactId>tomcatartifactId>
    <name>apache-tomcat-8.5.24name>
    <version>8.5.24version>

    <build>
        <finalName>Tomcat-8.5.24finalName>
        <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.5.1version>
                <configuration>
                    <encoding>UTF-8encoding>
                    <source>1.8source>
                    <target>1.8target>
                configuration>
            plugin>
        plugins>
    build>

    <dependencies>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.12version>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>org.easymockgroupId>
            <artifactId>easymockartifactId>
            <version>3.4version>
            <scope>testscope>
        dependency>

        <dependency>
            <groupId>org.apache.antgroupId>
            <artifactId>antartifactId>
            <version>1.10.0version>
        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.jdt.core.compilergroupId>
            <artifactId>ecjartifactId>
            <version>4.6.1version>
        dependency>
    dependencies>
project>  

你可能感兴趣的:(源码,tomcat,tomcat8源码分析)