tomcat源码环境搭建

1.源码下载

      进入tomcat 官网 如下图

tomcat源码环境搭建_第1张图片

下载响应源码,如下图

tomcat源码环境搭建_第2张图片

2.环境搭建

     在idea中新建空项目

tomcat源码环境搭建_第3张图片

解压刚刚下载的zip包至新建的项目中

tomcat源码环境搭建_第4张图片

在源码包中新建pom.xml文件,并配置相关插件及依赖

tomcat源码环境搭建_第5张图片

pom.xml配置如下



  4.0.0
  org.apache.tomcat
  apache-tomcat-8.5.42
  8.5
  
    Tomcat8.5
    java
    
      
        java
      
    
    
      
        org.apache.maven.plugins
        maven-compiler-plugin
        2.3
        
          UTF-8
          1.8
          1.8
        
      
    
  
  
    
      junit
      junit
      4.12
      test
    
    
      org.easymock
      easymock
      3.4
    
    
      ant
      ant
      1.7.0
    
    
      wsdl4j
      wsdl4j
      1.6.2
    
    
      javax.xml
      jaxrpc
      1.1
    
    
      org.eclipse.jdt.core.compiler
      ecj
      4.5.1
    
  

 

接着将tomcat源码模块引入至空项目中

tomcat源码环境搭建_第6张图片

然后配置启动class(其中main class的类路径为org/apache/catalina/startup/Bootstrap.java)

tomcat源码环境搭建_第7张图片

在虚拟机参数中设置相关配置路径,如果没有移动相关目录则配置如下

-Dcatalina.home=E:/IDEA-workspace/tomcat_project/apache-tomcat-8.5.42-src
-Dcatalina.base=E:/IDEA-workspace/tomcat_project/apache-tomcat-8.5.42-src
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=E:/IDEA-workspace/tomcat_project/apache-tomcat-8.5.42-src/conf/logging.properties

3.启动测试

启动application,并访问localhost:8080

访问报错

tomcat源码环境搭建_第8张图片

这是因为jsp解析器未被初始化,在org/apache/catalina/startup/ContextConfig#configureStart()中的webConfig();(770行)下面添加

context.addServletContainerInitializer(new JasperInitializer(),null);这时候重新启动main方法,并访问localhost:8080,展示正常页面

tomcat源码环境搭建_第9张图片

 

你可能感兴趣的:(tomcat)