当你使用ServiceLoader.load无法加载类时你可能犯
2021-11-30 本文已影响0人
逐影随行
问题描述
项目采用maven结构,其中的resources里结构如下
image.png
结果如下代码无法获取到相关的类
ServiceLoader<DynamicSql> load = ServiceLoader.load(DynamicSql.class);
for (DynamicSql dynamicSql : load) {
System.out.println(dynamicSql.getClass());
}
解决方案
改为如下结构就好了
image.png
问题出现的原因是:创建Directory时用点号隔开了 META-INFO.services ,结果META-INFO.services 整个变成了文件夹名称。