【问题标题】:Finding the class with the main method in an applet在小程序中使用 main 方法查找类
【发布时间】:2009-03-19 18:57:10
【问题描述】:

我正在尝试使用这个工具

https://swingexplorer.dev.java.net/

查找有关小程序的摆动结构的一些信息。不幸的是,我没有开发小程序。我已经从缓存中拉取了applet的jar,但是jar中有几百个.class文件,不知道哪个有main方法。

有没有办法查明小程序的入口点?浏览器必须能够识别它才能运行小程序,因此信息必须位于 jar 中的某个位置(或者可能与 jar 位于同一目录中的 .idx 文件)。

赞赏的想法。

【问题讨论】:

    标签: java class applet main-method


    【解决方案1】:

    Applet(或JApplet)的生命周期比启动并运行直到程序完成更复杂,因此没有单一的main 方法。它将由浏览器管理(lifecycle tutorial.)

    applet 类由部署机制指定(例如 applet/object/embed 标签)。请参阅deployment tutorial 以确定如何指定此类型。

    【讨论】:

    • 虽然如此,但这并不能帮助用户让 swingexplorer 正常工作。
    【解决方案2】:

    入口类将在小程序标记中,或者在 JNLP 中用于新插件 JRE 6u10+ 小程序。您应该能够通过 grep 查找 Applet 或 JApplet 类的引用,或者说 init()V 方法,单独从 jar 中查看它是哪一个。

    【讨论】:

    • 所以小程序以 init() 方法而不是 main 方法开始?我找到了一个 JApplet,但它没有 Swing Explorer 所需的 main 方法。你如何 grep .class 文件的方法?
    • 您可以使用各种类浏览工具 (Google)、javap 等工具(在 JDK 中)或将它们添加到 IDE 项目类路径(如 Eclipse)的权宜之计来内省类。跨度>
    • 小程序容器在小程序实例上调用了许多方法,当然也调用了入口类的无参数构造函数。 init 是最有可能实现的。使用你最喜欢的 grep 工具来 grep 二进制文件 - grep -R 在 Linux 上的爆炸存档上。
    【解决方案3】:

    我试图使用错误的工具来完成任务。

    【讨论】:

    • 那么正确的工具是什么?我真的需要一个程序来帮助我找到绘制小程序各个部分的代码。
    猜你喜欢
    • 2012-06-26
    • 2021-10-24
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2016-03-07
    • 2019-09-11
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多