Quarkus运行quarkus-run.jar时找不到DocumentBuilderFactory问题求助
Quarkus应用启动时XML解析器工厂缺失问题
- 执行
mvn package打包应用过程正常,但通过java -jar target\quarkus-app\quarkus-run.jar启动应用时会静默崩溃 - 经调试确认,崩溃发生在解析XML InputStream的类初始化阶段,手动捕获的堆栈跟踪如下:
Exception occurred in target VM: Provider for javax.xml.parsers.DocumentBuilderFactory cannot be found javax.xml.parsers.FactoryConfigurationError: Provider for javax.xml.parsers.DocumentBuilderFactory cannot be found at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source) at org.optaplanner.core.impl.io.jaxb.GenericJaxbIO.parseXml(GenericJaxbIO.java:209) at org.optaplanner.core.impl.io.jaxb.SolverConfigIO.read(SolverConfigIO.java:15) at org.optaplanner.core.config.solver.SolverConfig.createFromXmlReader(SolverConfig.java:199) at org.optaplanner.core.config.solver.SolverConfig.createFromXmlInputStream(SolverConfig.java:173) at org.optaplanner.core.config.solver.SolverConfig.createFromXmlInputStream(SolverConfig.java:160)
环境与特殊情况
- 环境版本:graalvm-ce-java17-22.2.0、Quarkus 2.11.2.Final、OptaPlanner 8.29.0.Final
- 打包为uberjar或使用dev模式运行时,该问题不会出现
已排查内容
- 依赖中无XML相关排除项
- Quarkus与quarkus maven-compiler-plugin版本保持一致
- 待读取的XML文件确实存在(若不存在会触发更早的崩溃)
- 发现
quarkus-app-dependencies.txt中未列出javax.xml.parsers.DocumentBuilderFactory类
内容的提问来源于stack exchange,提问作者Bobo Bobrich
相关产品推荐
相关产品推荐

