繁体   English   中英

我如何找到主要班级? 入口点?

[英]How do I find the main class? Entry Point?

我正在从应用程序中为我生成Java代码。 我使用了JRE,并将所有文件提取到一个新目录中。 有一个包含MANIFEST.MF的META-INF文件夹,没有任何主要方法。

Witin这个JRE是我感兴趣的代码类,但是当我CMD以下代码时...

Java Steve.class

我收到此错误...

Could not load for find Main Class Steve.class. 

我假设所有这些类文件中的某个地方都有一个Main类,但是如何搜索所有这些文档以找到它呢? 有申请吗?

谢谢!

调用Java程序时不需要.class后缀。 像这样做:

java Steve

要确定哪个类具有main方法,可以在每个类文件上使用javap (Java类文件反汇编程序)。 例如:

$ javap Foo
Compiled from "Foo.java"
public class Foo extends java.lang.Object{
    public Foo();
    public static void main(java.lang.String[]);
}

首先:每个公开此方法签名的类:

public static void main(String[] args) { }

可能是可以从JVM启动的主类,并且可以放入清单中以启用Shell执行。

第二:在JRE中启动类时,必须指定该类的完全限定名称; 例如,如果Steve.class文件采用com / mycompany / app之类的树形结构,则从应用程序的根目录(MANIFEST目录所在)开始,则应从根目录启动它,键入:

java com.mycompany.app.Steve

因此,如果Steve公开了main方法,并且您可以从根目录正确指向它,则可以启动它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM