From abe938eb2c59dc991395198aee150b8cfae59650 Mon Sep 17 00:00:00 2001 From: aoyvx <1580319665@qq.com> Date: Wed, 20 Jul 2022 14:09:04 +0800 Subject: [PATCH] Use Bean ClassLoader consistently to resolve class names See gh-31798 --- .../autoconfigure/ImportAutoConfigurationImportSelector.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java index bfbae2a750..f0d23aadd7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java @@ -100,7 +100,7 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec @Override protected Set getExclusions(AnnotationMetadata metadata, AnnotationAttributes attributes) { Set exclusions = new LinkedHashSet<>(); - Class source = ClassUtils.resolveClassName(metadata.getClassName(), null); + Class source = ClassUtils.resolveClassName(metadata.getClassName(), getBeanClassLoader()); for (String annotationName : ANNOTATION_NAMES) { AnnotationAttributes merged = AnnotatedElementUtils.getMergedAnnotationAttributes(source, annotationName); Class[] exclude = (merged != null) ? merged.getClassArray("exclude") : null; @@ -124,7 +124,7 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec protected final Map, List> getAnnotations(AnnotationMetadata metadata) { MultiValueMap, Annotation> annotations = new LinkedMultiValueMap<>(); - Class source = ClassUtils.resolveClassName(metadata.getClassName(), null); + Class source = ClassUtils.resolveClassName(metadata.getClassName(), getBeanClassLoader()); collectAnnotations(source, annotations, new HashSet<>()); return Collections.unmodifiableMap(annotations); }