当我从 Intellij idea 运行 java 程序时,我注意到它们是由一个名为 AppMain 的类(来自 idea_rt.jar)通过反射执行的。
IntelliJ 产品规格:
IntelliJ IDEA(社区版)IC-145.184.1 Build #IC-145.184,于 2016 年 3 月 1 日构建 JRE:1.8.0_60-b27 x86
例如:如果我执行以下代码,
public class Example{
public static void main(String[] args) {
throw new RuntimeException();
}
}
以下是来自 AppMain 的 5 个内部调用的输出
位于 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 处 > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 处的 Example.main(Example.java:12) 处的线程“main”java.lang.RuntimeException 中的异常 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java :144)
正如您在上面看到的,堆栈跟踪信息有 5 个额外的堆栈跟踪信息,这些信息来自idea_rt.jar 的 AppMain 类
无论如何在不使用 AppMain 的情况下从 IntelliJ IDE 运行 Java Applcation 吗?