diff --git a/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoaderRuntimeHintsRegistrar.java b/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoaderRuntimeHintsRegistrar.java index 56c62667ed7..dbdccaa4885 100644 --- a/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoaderRuntimeHintsRegistrar.java +++ b/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoaderRuntimeHintsRegistrar.java @@ -16,6 +16,7 @@ package org.springframework.core.io.support; +import java.lang.reflect.Constructor; import java.util.List; import java.util.Map; import java.util.function.Consumer; @@ -88,9 +89,12 @@ class SpringFactoriesLoaderRuntimeHintsRegistrar implements RuntimeHintsRegistra @Nullable private Class resolveClassName(ClassLoader classLoader, String factoryClassName) { try { - return ClassUtils.resolveClassName(factoryClassName, classLoader); + Class className = ClassUtils.resolveClassName(factoryClassName, classLoader); + // Force resolution of all constructors to catch + Constructor[] constructors = className.getDeclaredConstructors(); + return className; } - catch (Exception ex) { + catch (Throwable ex) { return null; } }