Merge branch '3.2.x'
Closes gh-41107
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
* Copyright 2012-2024 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -43,7 +43,7 @@ class MainMethod {
|
||||
StackTraceElement[] stackTrace = thread.getStackTrace();
|
||||
for (int i = stackTrace.length - 1; i >= 0; i--) {
|
||||
StackTraceElement element = stackTrace[i];
|
||||
if ("main".equals(element.getMethodName())) {
|
||||
if ("main".equals(element.getMethodName()) && !isLoaderClass(element.getClassName())) {
|
||||
Method method = getMainMethod(element);
|
||||
if (method != null) {
|
||||
return method;
|
||||
@@ -53,6 +53,10 @@ class MainMethod {
|
||||
throw new IllegalStateException("Unable to find main method");
|
||||
}
|
||||
|
||||
private boolean isLoaderClass(String className) {
|
||||
return className.startsWith("org.springframework.boot.loader.");
|
||||
}
|
||||
|
||||
private Method getMainMethod(StackTraceElement element) {
|
||||
try {
|
||||
Class<?> elementClass = Class.forName(element.getClassName());
|
||||
|
||||
Reference in New Issue
Block a user