From 9dab4f260a71c2d6f878805a225025366e9a347d Mon Sep 17 00:00:00 2001 From: Looly Date: Sat, 11 Oct 2025 19:45:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D`ServiceLoaderUtil.loadFirstA?= =?UTF-8?q?vailable`=E5=9C=A8JDK24+=E5=90=8E=E6=9C=AA=E6=8D=95=E8=8E=B7?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=AF=BC=E8=87=B4=E7=9A=84=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=88pr#4098@Github=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 2 +- .../src/main/java/cn/hutool/core/util/ServiceLoaderUtil.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) 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 {