當你使用ServiceLoader.load無法加載類時你可能犯了這個錯誤

問題描述
項目采用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 整個變成了文件夾名稱。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容