window下正常的springboot到mac下运行却报错

文章描述了一个在Mac环境下,SpringBoot应用启动时遇到的Bean创建错误,具体是由于HibernateValidator的依赖问题导致。解决方案包括安装MavenHelper插件,分析并排除依赖冲突,以及在pom.xml中明确引入HibernateValidator的依赖。按照这些步骤操作后,应用成功启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>

重新加载后,运行成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onejson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值