diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java index 6801a8447b8..bd96da51e5e 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java @@ -779,7 +779,16 @@ class ConfigurationClassParser { String[] memberClassNames = sourceReader.getClassMetadata().getMemberClassNames(); List members = new ArrayList(memberClassNames.length); for (String memberClassName : memberClassNames) { - members.add(asSourceClass(memberClassName)); + try { + members.add(asSourceClass(memberClassName)); + } + catch (IOException ex) { + // Let's skip it if it's not resolvable - we're just looking for candidates + if (logger.isDebugEnabled()) { + logger.debug("Failed to resolve member class [" + memberClassName + + "] - not considering it as a configuration class candidate"); + } + } } return members; }