Tomcat源码导入idea的方法
程序员文章站
2022-03-01 21:41:09
目录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)
<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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
Python创建模块及模块导入的方法
-
Docker下搭建一个JAVA Tomcat运行环境的方法
-
Docker学习之基于Dockerfile搭建JAVA Tomcat运行环境的方法
-
Linux系统下Tomcat8启动速度很慢的解决方法
-
荐 使用IDEA搭建一个简单的JavaWeb图书管理项目(详细步骤指导、提供源码)
-
Vue源码解析之Template转化为AST的实现方法
-
CentOS 下yum安装mysql、jdk和tomcat的方法
-
腾讯云ubuntu服务器tomcat访问慢的原因分析及解决方法
-
将PasswordAgent密码文件导入Keepass的方法(图文)
-
【C#常用方法】2.DataTable(或DataSet)与Excel文件之间的导出与导入(使用NPOI)