Java虚拟机启动程序 - 找不到主类

时间:2013-04-01 18:26:14

标签: java eclipse jvm

我正在使用Eclipse IDE中的GUI应用程序。当我尝试运行它时,会抛出以下错误消息:

  

Java虚拟机启动程序 - 找不到主要版本   class:org.cnstar.wiki.app.GreatPlaces.Program将退出。


更新:这是我的主要方法的样子:

public static void main(String[] args) {
        NativeInterface.open(); 

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
                    // loading the Splash Panel
                    SplashPanel panel = new SplashPanel();
                    SplashManager manager = new SplashManager(panel);
                    panel.setMessage("Initializing...");
                    manager.repaint();
                    for (int i = 0; i < 100; i++) {
                        panel.setProgress(i);
                        manager.repaint();
                    try {
                      Thread.sleep(100);
                        } 
                    catch (Exception e) {
                       }
                    }
                    manager.closeSplash();

                    start_application();

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
        NativeInterface.runEventPump();
    }

与main方法相关的方法:

private static void start_application() {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
                    //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
                    GreatPlaces window = new GreatPlaces(true, true);
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

public GreatPlaces(final boolean fullscreen, boolean showSplashScreen) {
        LocaleHandler.setLocale(); // will set the application language based to the local language of the machine

        initialize(fullscreen, showSplashScreen);

        setViewLayout();

        installAction();
    }

发现问题: 我刚刚重新安装了我的JRE,让我的项目变得干净,它突然开始工作了! 谢谢大家的帮助!

2 个答案:

答案 0 :(得分:0)

检查eclipse工作区中的.project文件是否具有以下内容

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
</natures>

或者在eclipse中检查已编译java类的ouput文件夹是否正确

Java构建路径 - &gt;来源 - &gt;默认输出文件夹

答案 1 :(得分:0)

看起来你已经在内部类中定义了main方法。请参阅前面发布的此问题:Main method in a static inner class.?

也就是说,如果你想在内部类中使用它,那么你需要定义主类:

org.cnstar.wiki.app.GreatPlaces$Program