You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache TomEE 10加载jakarta.servlet.SingleThreadModel类报错求助

解决jakarta.servlet.SingleThreadModel类找不到的问题
  • 检查TomEE 10容器内置依赖
    去TomEE安装目录的lib文件夹下,排查是否存在jakarta.servlet-api的5.x或更低版本jar包。如果有,直接删除该旧版本,替换为项目使用的6.1.0版本。另外TomEE Plus版附带的扩展组件可能依赖旧版servlet API,也需要逐一检查这些组件的依赖情况。

  • 排查项目中对该类的直接/间接引用
    用IDE全局搜索功能查找项目所有代码(包括第三方依赖jar)中SingleThreadModel的出现位置,定位是哪个类在调用这个已移除的类。如果是第三方依赖导致的,需要将该依赖升级到适配Jakarta Servlet 6.x的版本。

  • 调整依赖范围并再次确认传递依赖
    确保jakarta.servlet-api的依赖范围设置为provided,避免项目打包时将其带入,与容器提供的版本冲突。Maven配置示例:

    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.1.0</version>
        <scope>provided</scope>
    </dependency>
    

    再用依赖分析命令(Maven执行mvn dependency:tree,Gradle执行gradle dependencies)彻底排查是否有隐藏的旧版servlet API传递依赖。

  • 清理缓存重新构建部署
    删除TomEE的work和temp目录,清除容器缓存的旧类文件;同时清理项目的target(Maven)或build(Gradle)目录,重新构建项目后再部署到TomEE。

  • 检查TomEE配置文件
    查看TomEEconf目录下的catalina.properties等配置文件,确认是否存在指定额外类加载路径、强制加载旧版jar的配置项,若有则修改或移除相关配置。

内容的提问来源于stack exchange,提问作者Himanshu Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:17:02