diff --git a/CHANGELOG.md b/CHANGELOG.md index 7426fb658f..25fe2d8590 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,7 @@ * 【ai 】 修复`AIConfigBuilder`中方法名拼写错误(pr#1382@Gitee) * 【core 】 修复`StrBuilder`charAt越界判断错误(pr#4094@Github) * 【dfa 】 修复`WordTree.addWord`末尾为特殊字符导致的无法匹配问题(pr#4092@Github) -* 【core 】 修复`ServiceLoaderUtil.loadFirstAvailable`在JDK24+后未捕获异常导致的报错问题(issue#ID0952@Gitee) +* 【core 】 修复`ServiceLoaderUtil.loadFirstAvailable`在JDK24+后未捕获异常导致的报错问题(pr#4098@Github) ------------------------------------------------------------------------------------------------------------- # 5.8.40(2025-08-26) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ServiceLoaderUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ServiceLoaderUtil.java index 7ebcd14dc0..be160f5a93 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/ServiceLoaderUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ServiceLoaderUtil.java @@ -37,8 +37,7 @@ public class ServiceLoaderUtil { * @see JDK-8350481 */ public static T loadFirstAvailable(Class clazz) { - final ServiceLoader loader = ServiceLoader.load(clazz); - final Iterator iterator = loader.iterator(); + final Iterator iterator = load(clazz).iterator(); while (true) { T instance; try {