private Class<?> deduceMainApplicationClass() {
try {
StackTraceElement[] stackTrace = new RuntimeException().getStackTrace();
for (StackTraceElement stackTraceElement : stackTrace) {
if ("main".equals(stackTraceElement.getMethodName())) {
return Class.forName(stackTraceElement.getClassName());
}
}
}
catch (ClassNotFoundException ex) {
// Swallow and continue
}
return null;
}
通过抛出异常对异常栈的追踪获取到主类名。
本文介绍了一个Java方法,它通过捕获并分析`RuntimeException`的堆栈跟踪,查找并返回名为main的方法所在的类,用以推断应用程序的主类。
13

被折叠的 条评论
为什么被折叠?



