Tomcat源码导入idea的方法

2023-12-02 0 312
目录
  • 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.下载之后的目录结构

    Tomcat源码导入idea的方法

    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方法,这样会导致乱码

    解决方案

    Tomcat源码导入idea的方法

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

    4.2访问8080报错jsp等class找不到

    org.apache.catalina.startup.ContextConfig#configureStart方法加一句代码
    //TODO 手工加的
    context.addServletContainerInitializer(new JasperInitializer(), null);

    Tomcat源码导入idea的方法

    5.访问localhost:8080

    Tomcat源码导入idea的方法

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

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

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Tomcat Tomcat源码导入idea的方法 https://www.u-9.cn/server/tomcat/31870.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务