java - Apache Tomcat 启动失败,未找到 SAXParserFactoryImpl
问题描述
我正在尝试在 Eclipse Apache Tomcat 中启动 Web 应用程序,但失败并在 gist 中发布了以下错误。
错误:完成错误链接
Caused by: java.lang.RuntimeException: Provider for class javax.xml.parsers.SAXParserFactory cannot be created
at javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:308)
... 38 more
Caused by: java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
at java.util.ServiceLoader.fail(ServiceLoader.java:239)
下面是与xml相关的pom文件依赖,我有
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ibm</groupId>
<artifactId>xml4j</artifactId>
<version>2.0.15</version>
</dependency>
我尝试了各种解决方案,将 xerces jar 粘贴到 jre/lib/endorsed 文件夹,将其标记为已提供,引用目标目录无效。
解决方案
由于我的评论对您有所帮助,因此我将其发布为答案。
使用 Apache Xerces 依赖:
<!-- https://mvnrepository.com/artifact/org.apache.xerces/xercesImpl -->
<dependency>
<groupId>org.apache.xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.9.1</version>
<scope>runtime</scope>
</dependency>
推荐阅读
- python - 无法使用 Postman 生成的 Python 代码发帖
- python - 过滤两个日期之间的数据 - Django
- spring-boot - GCP Dialogflow Java-SpringBoot 身份验证-应用程序默认凭据不可用
- python - XPath 增量与 Python
- javascript - 我在猫鼬中创建新数据时遇到问题,因为我总是得到代码 11000
- testing - 在 LocalDateTime 上使用 @RestClientTest 进行测试时,RestTemplate 的行为有所不同
- javascript - javascript ile链接çektirme
- vulkan - 是否可以选择 Vulkan 计算着色器从一组数据的哪一部分开始?
- django - 嵌套 JSON 文件中的 DjangoFilterBackend 过滤器
- javascript - 运行 yarn install 时出现 ENOTFOUND registry.yarnpkg.com 错误