tomcat-embeded-core源码编译

使用spring-boot创建web工程时,默认采用embeded tomcat作为容器,实际使用过程中,可能会需要对其中的某些功能做微调,而tomcat又没有给出预留配 ,这时就需要对tomcat-embed-core源码进行编译了,下面说下具体的步骤

创建工程

  1. 在eclipse中创建tomcat-embed-core的maven工程
  2. 通过maven下载一个自己需要编译的tomcat-embed-core版本对应的source包(以8.5.31为例)
  3. 解压tomcat-embed-core对应的source包
  4. 将source包中javax和org两个包copy到刚创建的maven工程的src/main/java目录下
  5. 将source包中的META-INF放到src/main/resources目录下
  6. 编辑pom文件,追加依赖包、编译内容、以及发布的默认maven仓库
    
    
    
    4.0.0
    org.apache.tomcat.embed
    tomcat-embed-core
    8.5.31-me
    Core Tomcat implementation
    http://tomcat.apache.org/
    
    
      Apache License, Version 2.0
      http://www.apache.org/licenses/LICENSE-2.0.txt
      repo
    
  
  
    
      org.apache.tomcat
      tomcat-annotations-api
      8.5.31
      compile
    
    
    
      javax.mail
      javax.mail-api
      1.5.6
      provided
    
    
    
      javax.persistence
      javax.persistence-api
      2.2
      provided
    
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
    
    
      org.glassfish
      javax.ejb
      3.1.1
      provided
    
    
    
    
      org.apache.tomcat.embed
      tomcat-embed-jasper
      8.5.31
      provided
    
  
  
  
        
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                    **/*.xsd
                    **/*.dtd
                
            
        
        
            
                maven-compiler-plugin
                
                    ${java.version}
                    ${java.version}
                    UTF-8
                
            
        
    
    
   
        
            my-releases
            my-releases
            http://nexus:8081/repository/my-releases/
        
        
            my-snapshots
            my-snapshots
            http://nexus:8081/repository/my-snapshots/
        
    

编辑修改需要定制化的类

重新打包

进入工程目录执行,maven deploy,会将打包好的jar包上传到对应的maven仓库中

之后其他工程就可以依赖新打出的jar包

你可能感兴趣的:(tomcat-embeded-core源码编译)