From baff3b6fe933b73d5d040e09f7a5175841708cd0 Mon Sep 17 00:00:00 2001 From: wangxiang Date: Fri, 5 Jul 2024 10:07:17 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E5=90=8E=E5=8F=82=E6=95=B0=E5=90=8D=E7=A7=B0=E8=A2=AB?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E5=99=A8=E4=BC=98=E5=8C=96=EF=BC=8C=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=8E=B7=E5=8F=96=E5=88=B0=20main=20=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/haidnor/jvm/bcel/classfile/JavaClass.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/haidnor/jvm/bcel/classfile/JavaClass.java b/src/main/java/haidnor/jvm/bcel/classfile/JavaClass.java index d6f3ecd..83756b0 100644 --- a/src/main/java/haidnor/jvm/bcel/classfile/JavaClass.java +++ b/src/main/java/haidnor/jvm/bcel/classfile/JavaClass.java @@ -890,12 +890,15 @@ public class JavaClass extends AccessFlags implements Cloneable, Node, Comparabl * 获取 main 方法 */ public JavaMethod getMainMethod() { - for (JavaMethod javaMethod : getMethods()) { - if (javaMethod.toString().startsWith("public static void main(String[] args)")) { - return javaMethod; + for (JavaMethod method : getMethods()) { + if (method.isPublic() + && method.isStatic() + && method.getName().equals("main") + && method.getSignature().equals("([Ljava/lang/String;)V")) { + return method; } } - return null; + throw new RuntimeException("can not found main() method"); } @SneakyThrows