错误:只有在eclipse外运行时才能找到或加载主类

时间:2013-08-29 20:36:59

标签: java eclipse mainclass

我已经创建了一个运行eclipse inside的Java应用程序 问题是,当我将其作为jar文件导出然后尝试通过windows cmd运行该jar文件时(当前目录与我导出的目录相同)java "2Dwars 2.0.jar"

它说Error: Could not find or load main class 2Dwars 2.0.jar

我搜索过google,并且堆栈溢出很多,很多人都有类似的问题,但没有类似的解决方案。

我的主要课程如下:

public class MainClass extends JFrame implements Controll.keyPressEvent
{

    static Render render;
    public init in;

    public MainClass()
    {
        new Options();

        setUndecorated(true);
        Options.setBoolean("Draw chunks", false);
        System.out.println("Test");

        add(new Render(new Controll()));

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(895, 675);

        setLocationRelativeTo(null);
        setTitle("2D wars");
        setResizable(false);
        setVisible(true);

        System.out.println("Adding render");


        System.out.println("Loaded Options.");
        System.out.println("added render");
        init in=new init();

        Controll.addListener(Controll.Key.ESC, this);

        new Sounds();   
    }

    public static void main(String[] args) 
    {           
        new MainClass();

    }

    @Override
    public void sendKeyPressEvent(KeyEvent e)
    {
        if(e.getKeyCode()==Controll.Key.ESC.getKeyCode())
        {
            System.exit(1);
        }
    }

}

系统规格:

Windows vista 32 bit.
Jre 1.7 32 bit
JDk 5,6,7.

编辑这个问题可以通过导出为runnable并将-jar添加到命令arguements来解决,出于某种原因,jar必须作为Runnable Jar导出才能找到主类。< / p>

1 个答案:

答案 0 :(得分:1)

要将其作为jar文件运行,您需要-jar选项。类似的东西:

java -jar "2Dwars 2.0.jar"

(为了简单起见,我建议使用一个没有空格的文件名。)