spring - 如何解决 java.lang.NoClassDefFoundError: com/fasterxml/classmate/TypeResolver 在运行 Spring Boot 应用程序时
问题描述
我正在尝试运行一个与 keycloak 集成的示例应用程序(用于 IAM)。构建成功,但是在运行应用程序时,出现以下错误...
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-07-19 11:30:28.660 ERROR 103440 --- [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultValidator' defined in class path resource [org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/fasterxml/classmate/TypeResolver
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1708) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:581) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:503) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.keycloak.quickstarts.devconf2019.app.CarsApp.main(CarsApp.java:38) [classes/:na]
Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/TypeResolver
我添加了 com.fasterxml.jackson.core(2.9.5) 和 com.fasterxml(1.3.1) 作为依赖项。Springboot 版本是 - 2.0.3.RELEASE
fastxml 依赖项是否存在版本兼容性问题?如何找到缺少的依赖项并解决这个问题?
解决方案
您需要添加 hibernate-validator 依赖项,它附带了 com.fasterxml:classmate 捆绑在其中。
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>7.0.1.Final</version>
</dependency>
推荐阅读
- jquery - 保留 EasyAutocomplete 但删除浏览器自动完成
- maven - Maven 错误:“不可解析的 POM:结语中不允许开始标记”
- c# - 控制器方法不返回最小起订量数据
- sql - 在带日期参数的 Where 子句中使用 CASE When
- javascript - RNFS.exists() 总是返回 FALSE
- c++ - 标记用户输入错误
- javascript - React Native:使用组件状态进行获取请求
- css - 在屏幕高度溢出 div
- php - 根据 WooCommerce 中的用户角色更改数量步骤
- angular - 找不到“角度”,试图从 HTML 表单中获取值和验证