java-SPI-ServiceLoader jar包内部实现类找不到的问题

项目上有个需求,根据阿里的日志接口 自定义实现日志
通过SPI-ServiceLoader方式实现
在resources 中建立META-INF/services 以接口全限定名称的文件
文件内写接口实现的全限定名
项目中引用jar发现找不到默认的实现类(工具不打jar单独是可以运行的,或在引用jar的项目中再建立META-INF/services及文件也是可以运行的) 奇怪了!
本想着把类打到maven 别人直接引用 直接用 这、、、、、

后来发现
文件全限定名类名是小写的 需要改成 大写!(不打包可以读取,打包就不行 ,坑!!)

你可能感兴趣的:(java-SPI-ServiceLoader jar包内部实现类找不到的问题)