diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/diagnostics/analyzer/NoSuchMethodFailureAnalyzer.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/diagnostics/analyzer/NoSuchMethodFailureAnalyzer.java index a9c29d42eb0..10978e96c87 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/diagnostics/analyzer/NoSuchMethodFailureAnalyzer.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/diagnostics/analyzer/NoSuchMethodFailureAnalyzer.java @@ -31,12 +31,14 @@ import org.springframework.util.ClassUtils; * NoSuchMethodErrors}. * * @author Andy Wilkinson + * @author Stephane Nicoll */ class NoSuchMethodFailureAnalyzer extends AbstractFailureAnalyzer { @Override protected FailureAnalysis analyze(Throwable rootFailure, NoSuchMethodError cause) { - String className = extractClassName(cause); + String message = cleanMessage(cause); + String className = extractClassName(message); if (className == null) { return null; } @@ -48,24 +50,33 @@ class NoSuchMethodFailureAnalyzer extends AbstractFailureAnalyzer findCandidates(String className) { @@ -87,7 +98,8 @@ class NoSuchMethodFailureAnalyzer extends AbstractFailureAnalyzer candidates, URL actual) { + private String getDescription(NoSuchMethodError cause, String message, String className, List candidates, + URL actual) { StringWriter description = new StringWriter(); PrintWriter writer = new PrintWriter(description); writer.println("An attempt was made to call a method that does not" @@ -99,7 +111,7 @@ class NoSuchMethodFailureAnalyzer extends AbstractFailureAnalyzer