SpringBoot Starter 自动装配失败

本文探讨了一位开发者在使用自定义Spring Starter时遇到的问题,项目启动失败源于元数据冲突。解决方法包括检查spring.factories文件位置和结构,最终发现空格导致的双META-INF目录是关键。
摘要由CSDN通过智能技术生成

1.自定义Starter 依赖使用后项目无法启动,出现一下报错

***************************
APPLICATION FAILED TO START
***************************
Description:
A component required a bean named 'xxxx' that could not be found.
Action:
Consider defining a bean named 'xxxx' in your configuration.

2.经过对比未发现pom依赖及自定义的starter配置的问题,查看自定义的Starter项目编译后的目录下存在异常,target/classes/下存在两个META-INF目录,自定义的spring.factories和自动生成的spring-configuration-metadata.json描述文件对应的META-INF不是同一个。

3.将编译后自定义的spring.factories文件挪至自动生成的spring-configuration-metadata.json描述文件对应的META-INF目录下,自定义的starter重新进行mvn clean install。对应依赖自定义starter项目重启成功。说明META-INF/spring.factories有问题。

4.自定义的starter项目重新新建META-INF/spring.factories文件,包括META-INF,自定义的starter重新进行mvn clean install。对应依赖自定义starter项目重启成功。

4.原因是新增META-INF/spring.factories文件的时候,目录名META-INF可能存在空格等导致编译之后存在target/classes/下存在两个META-INF目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值