Tomcat源码导入idea的方法

 更新时间:2021年09月29日 11:05:31   作者:平原人  
这篇文章主要介绍了Tomcat源码导入idea的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1.下载tomcat代码

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

2.下载之后的目录结构

在这里插入图片描述

3.源码使用ant构建(这里改用pom)

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.tomcat</groupId>
  <artifactId>tomcat</artifactId>
  <name>tomcat</name>
  <version>9.0.19</version>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant</artifactId>
      <version>1.10.11</version>
    </dependency>
    <dependency>
      <groupId>wsdl4j</groupId>
      <artifactId>wsdl4j</artifactId>
      <version>1.6.3</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/javax.xml.soap/javax.xml.soap-api -->
    <dependency>
      <groupId>javax.xml.soap</groupId>
      <artifactId>javax.xml.soap-api</artifactId>
      <version>1.4.0</version>
    </dependency>

    <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
      <version>2.1</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.jdt</groupId>
      <artifactId>ecj</artifactId>
      <version>3.17.0</version>
    </dependency>


    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
      <version>4.0.2</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>biz.aQute.bnd</groupId>
      <artifactId>biz.aQute.bndlib</artifactId>
      <version>5.2.0</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>com.unboundid</groupId>
      <artifactId>unboundid-ldapsdk</artifactId>
      <version>3.2.0</version>
    </dependency>
  </dependencies>

</project>

直接使用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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何让tomcat服务增加java启动命令

    如何让tomcat服务增加java启动命令

    这篇文章主要介绍了如何让tomcat服务增加java启动命令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • Tomcat注册成服务的几个注意点小结

    Tomcat注册成服务的几个注意点小结

    这篇文章主要介绍了Tomcat注册成服务的几个注意点,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 关于 Tomcat进程意外退出的问题解析

    关于 Tomcat进程意外退出的问题解析

    这篇文章主要介绍了关于 Tomcat进程意外退出的问题解析的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • windows下配置两个或多个Tomcat启动的方法

    windows下配置两个或多个Tomcat启动的方法

    这篇文章主要介绍了windows下配置两个或多个Tomcat启动的方法,需要的朋友可以参考下
    2014-12-12
  • TOMCAT启动失败using catalina_opts为空的解决方法

    TOMCAT启动失败using catalina_opts为空的解决方法

    这篇文章主要给大家分享了TOMCAT启动失败using catalina_opts为空的解决方法,文中有详细的解决流程,具有一定的参考价值,需要的朋友可以参考下
    2023-10-10
  • 优化Tomcat配置(内存、并发、缓存等方面)方法详解

    优化Tomcat配置(内存、并发、缓存等方面)方法详解

    这篇文章主要介绍了优化Tomcat配置(内存、并发、缓存等方面)方法详解,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 解析Tomcat架构原理到架构设计

    解析Tomcat架构原理到架构设计

    一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是Tomcat非常的模块化,找到了Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要
    2021-06-06
  • Tomcat整体结构简单介绍

    Tomcat整体结构简单介绍

    这篇文章主要介绍了Tomcat整体结构简单介绍,Tomcat的本质是一个Servlet容器。一个Servlet能做的事情是:处理请求资源,并为客户端填充response对象,需要的朋友可以参考下
    2019-07-07
  • 解决启动tomcat报错发生服务特定错误1的问题

    解决启动tomcat报错发生服务特定错误1的问题

    这篇文章主要介绍了解决启动tomcat报错发生服务特定错误1的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • tomcat优化配置小结

    tomcat优化配置小结

    本文主要介绍了tomcat优化配置小结,介绍了十一个方面的优化问题,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05

最新评论