【问题标题】:Cannot find or load main class ERROR [duplicate]找不到或加载主类错误 [重复]
【发布时间】:2013-01-17 18:27:18
【问题描述】:

可能重复:
Error: Could not find or load main class

我已经在一些游戏代码上工作了几个小时,之前它运行得非常好,但后来我的 eclipse 决定破坏一些东西,我完全恢复它并且它在 eclipse 中完美运行,但是当我尝试运行它时CMD 或只是作为可执行 JAR 我得到无法找到或加载主类错误。这是我目前的主要方法。

public Game() {
    setMinimumSize(new Dimension(WIDTH * 2, HEIGHT * 2));
    setMaximumSize(new Dimension(WIDTH * 2, HEIGHT * 2));
    setPreferredSize(new Dimension(WIDTH * 2, HEIGHT * 2));
    frame = new JFrame(NAME);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new BorderLayout());
    frame.add(this, BorderLayout.CENTER);
    frame.pack();
    frame.setResizable(false);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
    frame.setIconImage(Icon);
}

private boolean running = false;
public InputHandler Inputs = new InputHandler(this);

public static void main(String[] args) {
    System.out.println("Starting");
    Game g = new Game();
    g.Start();
}

public void Start() {
    running = true;
    new Thread(this).start();
}

private static final int MapHeight = 40;

public void Stop() {
    running = false;

}

我使用的是 Windows 7 和 JAVA 7。 希望我能得到一些帮助。

【问题讨论】:

  • 你在manifest文件中设置了主类吗?

标签: java


【解决方案1】:

如果你想要一个可执行的 jar,你需要一个 MANIFEST.MF 文件来定义要运行的主类...

Main-Class: net.test.Class

如果你想从命令行运行,你必须告诉它要运行什么类,可能还有类路径。这可以进入 .bat

【讨论】:

  • 清单版本:1.0 类路径:。主类:游戏就是我清单中的内容
  • @LucassSpencer 您的 Game 类是否可能在某个包中?如果是这样,那么Main-Class: 应该包含your.package.name.Game
  • 我刚刚更新了它,是的,它在一个包中,它不是当我在这里发布消息时它现在所说的。
【解决方案2】:

在 Eclipse 中单击项目 -> 右键单击​​ -> 导出。 选择 Runnable Jar 文件。

选择一个在 Eclipse 中工作的启动配置。

Eclispe 会为您生成 MANIFEST.MF 文件到您的 jar 文件中。

然后oyu可以在你的cmd上运行:java -jar niceJarfile.jar,一切都会正常。

如果没有打开jar文件,看看那里是否提到了正确的主类。

【讨论】:

  • 清单版本:1.0 类路径:。主类:游戏就是我清单中的内容,是的
  • 您没有包裹?将您的类放入一个包中总是“保存”。 en.wikipedia.org/wiki/Java_package 试试看吧。
  • 我现在做,但无济于事......
  • 我确实多次尝试过你所说的。
猜你喜欢
  • 2016-12-17
  • 2012-11-02
  • 2017-02-02
相关资源
最近更新 更多