Jar Maker - 哪个是主要类?

时间:2012-12-29 22:50:50

标签: java jar main final

好吧,所以我正在为一个小游戏的客户制作.jar,我知道如何使用所有内容并且之前已经完成了这个,在Windows上,现在我在Mac上。这不应该有所作为,但是你想知道,你去了。

现在,我在eclipse中有一个名为client的文件夹,现在通常client.java是主类,但是还有另一个名为EGUI的,它有“public static void main(String [] args)”,但在我的client.java文件,它也有这样的方法:

 public static final void main(String args[])
{
    try
    {
        anInt957 = 0;
        anInt958 = 0;
        method52(false);//highmem
        aBoolean959 = true;//members
        signlink.storeid = 32;
        signlink.startpriv(InetAddress.getLocalHost());
        client client1 = new client();
        client1.method1(503, false, 765);
        setserver(args[0], "5555");
        return;
    }
    catch(Exception exception)
    {
        return;
    }
}

我想我的问题是,“最终”是否将其作为主文件?或者它仍然是EGUI,看起来像这样:

import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class EGUI
{ 
public static void main(String args[])
{
                client.main(new String[] {
            "127.0.0.1", "127.0.0.1", "127.0.0.1"
        });
    }
}

所以,我要求的是,为什么当我将主文件设置为EGUI时,它不起作用? applet打开了,但每次我都会收到“连接到服务器时出错”的消息,当我通过终端运行它来复制run.bat信息并粘贴它时,它完美无缺!非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

public static void main(String args[])表示您可以从命令行执行该类。 final 关键字表示该方法不能被子类覆盖。

在你的情况下,这不会成为jar的主要执行类。主类在 META-INF / MANIFEST.MF 中设置。通常它应该有一行:

Main-Class: classname

但接着是实际的班级。

所以用zip程序打开jar,然后检查MANIFEST.MF。

您的 client.java 有一个方法,我认为是出于测试目的。