目录
1. bug出现
给项目自定义 Springboot-Starter 的后, 启动项目出现 java.lang.IllegalStateException: Unable to read meta-data for class, 导致项目无法启动, 跟着断点打过去发现, 源码加载 starter的 时候 加载一个空字符串的 className , com.kone.sp 开头的都是加载成功的自定义 starter
2. 问题解决
根据 springboot 自定义 starter 的原理, 上面的 className 都是根据 spring.factories 中我们编写的类的全限定类名读取并注入的, 所以直接排查自定义 starter 就好了,
果然发现是自定义 starter 中的 spring.factories 文件写错了, 这个模块只有2要加载的全限定类名, 但是因为我编写错误, 在最后一个 ExecuteTemplateImpl 后加了一个英文逗号, 导致 springboot 框架在加载 spring.factories 文件的时候, 认为英文逗号后面还有一个类, 所以加载到了空字符串, 把这个英文逗号去掉以后, 项目完美启动