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

Tomcat 9.0部署报错:SAXParserFactory未找到,求解决方案

解决Tomcat部署WAR包后启动报错:__redirected.__SAXParserFactory找不到

问题分析

部署新WAR包后Tomcat启动失败,核心报错为javax.xml.parsers.FactoryConfigurationError: Provider __redirected.__SAXParserFactory not found,原因是应用WAR包中打包了与Tomcat内置XML解析组件冲突的依赖JAR,覆盖了Tomcat自身的解析类加载路径,导致系统无法找到Tomcat专用的__redirected系列解析工厂类。

解决步骤

  • 移除WAR包中的冲突依赖
    解压报错的WAR包,进入WEB-INF/lib目录,删除以下可能引发冲突的JAR文件:

    • xml-apis.jar
    • xercesImpl.jar
    • jaxp-api.jar
    • sax.jar
      重新打包WAR后再部署,Tomcat本身已内置这些XML解析依赖,无需应用额外携带。
  • 调整Tomcat类加载策略(备选方案)
    若无法修改WAR包,可修改Tomcat配置文件conf/context.xml,在<Context>标签中添加属性,强制应用优先使用Tomcat系统类加载器:

    <Context antiResourceLocking="true" antiJARLocking="true" parentClassLoader="system">
        <!-- 原有配置内容 -->
    </Context>
    

    注意:该方法可能影响应用自身依赖加载,优先推荐第一种方案。

  • 检查Java环境配置
    确认JAVA_OPTS环境变量中是否存在自定义XML解析工厂的参数(如-Djavax.xml.parsers.SAXParserFactory=xxx),如有则删除此类参数,避免干扰Tomcat默认的解析组件加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:25:55