Tomcat8.5 源码配置

一、源码下载

          tomcat8.5.47下载

二、项目结构

       1. 新建一个文件夹 tomcat8

       2. 将解压后的源码包复制进来

       3. 新建一个catalina-home文件夹

Tomcat8.5 源码配置_第1张图片

       4. 将apache-tomcat-8.5.47-src文件中的conf文件和webapps复制到catalina-home中

Tomcat8.5 源码配置_第2张图片

5. 配置Maven依赖

  5.1 采用module的形式来组织目录,首先在根目录(D:\code\tomcat8)下创建pom.xml,其内容如下




    4.0.0
    lic    
    apache-tomcat-8    
    apache-tomcat-8-source    
    1.0    
    pom 
        
        
        apache-tomcat-8.5.47-src    
        

5.2 这里主要指定module为Tomcat的源码目录,然后在apache-tomcat-8.5.23-src配置Tomcat源码额外的依赖,在该目录创建pom.xml




    4.0.0
    org.apache.tomcat
    Tomcat8.5.47
    Tomcat8.5.47
    8.5


	    
        Tomcat8.0    
        java    
        test    
            
                
                java    
                
            
            
                
                test    
                
            
            
                
                org.apache.maven.plugins    
                maven-compiler-plugin    
                2.0.2    
    
                    
                    UTF-8    
                    1.8    
                    1.8    
                    
                
            
        

     
          
            org.easymock  
            easymock  
            3.5  
            test  
          
  
            
            junit    
            junit    
            4.12  
            test    
            
            
            ant    
            ant    
            1.7.0    
            
            
            wsdl4j    
            wsdl4j    
            1.6.2    
            
            
            javax.xml    
            jaxrpc    
            1.1    
            
            
            org.eclipse.jdt.core.compiler    
            ecj    
            4.6.1  
            
        

三、项目构建

     1. 配置编译环境

Tomcat8.5 源码配置_第3张图片

 

VM options:

-Dcatalina.home=catalina-home
-Dcatalina.base=catalina-home
-Djava.endorsed.dirs=catalina-home/endorsed
-Djava.io.tmpdir=catalina-home/temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=catalina-home/conf/logging.properties

2. 运行

   2.1 Invalid value for Bundle-Version(Bundle版本未指定问题)

Tomcat8.5 源码配置_第4张图片

问题解决:

        设置Bundle-Versio值为8

Tomcat8.5 源码配置_第5张图片

2.2 编译时Test包报错

Tomcat8.5 源码配置_第6张图片

 

问题解决:

Tomcat8.5 源码配置_第7张图片

   (1). 删除项目文件下test资源文件夹

   (2). 删除pom.xml中相关配置

 

2.3 tomcat启动后访问不到服务器(500异常)

Tomcat8.5 源码配置_第8张图片

 

问题解决:

      直接启动org.apache.catalina.startup.Bootstrap的时候没有加载org.apache.jasper.servlet.JasperInitializer,从而无法编译JSP。这在Tomcat6/7是没有这个问题的。解决办法是在tomcat的源码org.apache.catalina.startup.ContextConfig中手动将JSP解析器初始化

context.addServletContainerInitializer(new JasperInitializer(),null);

Tomcat8.5 源码配置_第9张图片

 

2.3 tomcat启动出现部分中文乱码

参考播客:Idea中tomcat8启动时控制台日志中出现部分乱码(tomcat国际化处理乱码)

 

运行成功 !

Tomcat8.5 源码配置_第10张图片

你可能感兴趣的:(Tomcat源码解析)