Tomcat源码导入idea的方法

Tomcat源码导入idea的方法,第1张

Tomcat源码导入idea的方法 目录
  • 1.下载tomcat代码
  • 2.下载之后的目录结构
  • 3.源码使用ant构建(这里改用pom)
  • 4.问题解决
    • 4.1控制台乱码
    • 4.2访问8080报错jsp等class找不到
  • 5.访问localhost:8080

    1.下载tomcat代码

    本文选择9.0分支,此版本servlet还是javax开头的 github

    2.下载之后的目录结构



    3.源码使用ant构建(这里改用pom)
    
      4.0.0
    
      org.apache.tomcat
      tomcat
      tomcat
      9.0.19
    
      
        UTF-8
        1.8
        1.8
      
      
        
          junit
          junit
          4.12
          test
        
        
          org.apache.ant
          ant
          1.10.11
        
        
          wsdl4j
          wsdl4j
          1.6.3
        
    
        
        
          javax.xml.soap
          javax.xml.soap-api
          1.4.0
        
    
        
          org.apache.geronimo.specs
          geronimo-jaxrpc_1.1_spec
          2.1
        
    
        
          org.eclipse.jdt
          ecj
          3.17.0
        
    
    
        
          org.easymock
          easymock
          4.0.2
          test
        
    
        
          biz.aQute.bnd
          biz.aQute.bndlib
          5.2.0
          provided
        
    
        
          com.unboundid
          unboundid-ldapsdk
          3.2.0
        
      
    
    

    直接使用idea重新导入,jdk暂时选择1.8

    4.问题解决

    4.1控制台乱码

    信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
    九月 29, 2021 3:52:17 上午 org.apache.catalina.util.SessionIdGeneratorbase createSecureRandom
    警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[149]毫秒。

    九月 29, 2021 3:52:17乱码 修改conf/logging.properties的编码(现在默认utf-8,基本无修改) 警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[149]毫秒 乱码

    这里的乱码本质原因是properties文件乱码,tomcat采用系统的读取配置文件方式,使用的是URL.openStream,然后采用properties.load方法,这样会导致乱码

    解决方案



    把两个国际化文件读取重写Localizer、StringManager

    4.2访问8080报错jsp等class找不到
    org.apache.catalina.startup.ContextConfig#configureStart方法加一句代码
    //TODO 手工加的
     context.addServletContainerInitializer(new JasperInitializer(), null);



    5.访问localhost:8080



    注意点,有其他编译选项发,jdk11-16可以直接注释
    其他报错正常解决就行

    到此这篇关于Tomcat源码导入idea的文章就介绍到这了,更多相关Tomcat源码导入idea内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zaji/5698211.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-12-17
    下一篇 2022-12-17

    发表评论

    登录后才能评论

    评论列表(0条)

    保存