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: Could not initialize class org.hibernate.validator.internal.engine.valueextraction
这里报依赖包错误,这可能是由于不同操作系统环境下的依赖库版本不同,导致在 Mac 上需要进行依赖版本的修改。
Maven 依赖的版本可能会受到操作系统环境和系统中其他软件包的影响。这些不同的环境和软件包可能会影响项目中使用的依赖库的版本和行为。
例如,如果项目中使用了与 Windows 操作系统相关的依赖库,那么在 Mac 上可能需要更新依赖库的版本或者切换到 Mac 相关的依赖库。这是因为依赖库版本之间可能存在不兼容性,这会导致在不同的操作系统上出现不同的行为。
因此,建议在 Mac 上尝试更新项目的依赖库版本,或者在 pom.xml 中使用适合 Mac 的依赖库版本。另外,也可以查看项目中的配置和代码是否与操作系统相关,如文件路径等。
这里我们需要修改相关依赖
安装插件
idea中,我们在插件市场里安装一个 Maven Hepler 的插件
找到pom.xml文件
这里在pom.xml文件中,会显示一个 Dependency Analyzer ,我们点击一下,就会出现以下的界面,我们找到报错的那个依赖,选择 Exclude,就会把对应的冲突给屏蔽掉
这时pom.xml中会新增这些内容,这时重新 maven load 下即可
引入对应的依赖
解决冲突后,会提示没有相关的依赖
APPLICATION FAILED TO START
***************************
Description:
The Bean Validation API is on the classpath but no implementation could be found
Action:
Add an implementation, such as Hibernate Validator, to the classpath
我们引入相关的依赖
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
重新加载后,运行成功