Polish "Take MethodType into account to deduce main application class"

See gh-31828
This commit is contained in:
Andy Wilkinson
2022-07-22 19:39:14 +01:00
parent 10a2471979
commit b9b25644af

View File

@@ -285,10 +285,10 @@ public class SpringApplication {
}
private Optional<Class<?>> findMainClass(Stream<StackFrame> stack) {
return stack
.filter((frame) -> Objects.equals(frame.getMethodName(), "main")
&& Objects.equals(frame.getMethodType(), MethodType.methodType(void.class, String[].class)))
.findFirst().map(StackWalker.StackFrame::getDeclaringClass);
MethodType mainMethodType = MethodType.methodType(void.class, String[].class);
return stack.filter((frame) -> Objects.equals(frame.getMethodName(), "main"))
.filter((frame) -> Objects.equals(frame.getMethodType(), mainMethodType)).findFirst()
.map(StackWalker.StackFrame::getDeclaringClass);
}
/**