最近迷上了源码,Tomcat 源码,看我这篇就够了

最近迷上了源码,Tomcat 源码,看我这篇就够了_第1张图片

 

1 Apache Tomcat 源码环境构建

1.1 Apache Tomcat 源码下载

Apache Tomcat® - Apache Tomcat 8 Software Downloads

环境:jdk11

下载对应的 zip 包

下载到本地任意磁盘下

1.2 Tomcat 源码环境配置

1.2.1 增加 POM 依赖管理文件

解压 apache-tomcat-8.5.63-src 压缩包,

得到⽬录 apache-tomcat-8.5.63-src 进⼊ apache-tomcat-8.5.63src ⽬录,创建⼀个 pom.xml ⽂件,

⽂件内容如下



    4.0.0
    org.apache.tomcat
    apache-tomcat-8.5.63-src
    Tomcat8.5
    8.5
    
        
        Tomcat8.5
        java
        
            
                java
            
        
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.1
                
                    UTF-8
                    11
                    11
                
            
        
    
    
    
        
            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
        
        
            javax.xml.soap
            javax.xml.soap-api
            1.4.0
        
    

1.2.3 IDEA 环境导入与启动

idea 导入 maven 项目,注意环境

idea: 2020.3

jdk: 11

执行 Bootstrap.java 的 main 方法即可,非常简单

1)常见错误一

Error:(505, 53) java: 程序包 sun.rmi.registry 不可见 (程序包 sun.rmi.registry 已在模块 java.rmi 中声明,但该模块未将它导出到未命名模块)

原因:sun 的包对 ide 编译环境不可见造成的,鼠标放在代码中报红的地方,根据 idea 的提示操作即可。

注意!不要用 maven 去编译它,这个参数你加入的是 idea 的环境,所以,用 idea 编译和启动

2)常见错误二

原因:jdk 版本的事,选 jdk11

file - project structure

3)常见错误三

运⾏ Bootstrap 类的 main 函数,此时就启动了 tomcat,启动时候会去加载所配置的 conf ⽬录下 的 server.xml 等配置⽂件,所以访问 8080 端⼝即可,但此时我们会遇到如下的⼀个错误

原因是 Jsp 引擎 Jasper 没有被初始化,从⽽⽆法编译 JSP,我们需要在 t

你可能感兴趣的:(maven,java,tomcat)