dawdler-boot-web-tomcat-source
模块介绍
由于embedded-tomcat源码没有遵循JPMS规范,所以需要单独打包出来.
1. 使用方式
这个模块不需要单独使用,仅供内部使用.
2. embedded-tomcat版本
11.0.18
3. 更改记录
-
tomcat将jakarta的包打入了tomcat-embed-core.jar中,并加入了XMLSchema.dtd、datatypes.dtd、xml.xsd到jakarta.servlet.resouerces中并在org.apache.tomcat.util.descriptor.DigesterFactory中进行了加载,由于dawdler-series的jdk17以上版本遵循JPMS规范,所以需要将jakarta.servlet.resources中的文件从tomcat-embed-core.jar中移除. 采用标准的jakarta-servlet-api.jar包并将这些配置文件(XMLSchema.dtd、datatypes.dtd、xml.xsd)放在org.apache.tomcat.util.descriptor包下.同时修改DigesterFactory对应的代码进行加载(在DigesterFactory添加locationForLocal).
-
为兼容jar中jar需要改JarFactory中的getJarEntryURL方法. JarFileUrlJar更改构造方法(jarFileURL = url 这个变量赋值).
-
新增org/apache/tomcat/jakartaee 将 jakartaee-migration的源码打进来,这里使用1.0.10版本.