【问题标题】:Trying to compile Java source (could not find main class)尝试编译 Java 源代码(找不到主类)
【发布时间】:2014-11-05 15:46:59
【问题描述】:

尝试再次学习 Java,但我不记得我第一次是如何解决这个问题的。

我有 3 节课;一个 GameLauncher、GuessGame 和 Player。 GameLauncher 有我的 main 方法。

它们都被打包成chap02,我不记得这对我来说是否重要。

我是这样编译的:javac GameLauncher.java GuessGame.java Player.java

像这样运行:java GameLauncher

我收到此错误:无法找到或加载主类 GameLauncher。

我知道这是一个荒谬的问题,但我一直在处理这类问题。我可以很好地学习实际的编程和编写代码,但处理这些该死的编译器总是让我很受用。任何帮助,将不胜感激。谢谢

package chap02;

public class GameLauncher {
public static void main (String[] args) {
    GuessGame game = new GuessGame();
    game.startGame();
}
}

编辑:问题不在于实际代码,问题在于我如何编译它。

【问题讨论】:

标签: java


【解决方案1】:

运行程序时,您必须从正确的目录运行它。请记住,您使用了包,因此您具有以下包结构

    • 第02章
      • GameLauncher.java
      • GuessGame.java
      • Player.java

编译后,你会在chap02-文件夹中找到对应的.class-files。要开始游戏,您已从 src 目录运行以下命令:

java chap02.GameLauncher

由于您在源代码中指定了包,因此您必须使用全限定名,包括该类所属的包。

EDIT正如vefthym提到的,你必须以同样的方式编译代码,运行

javac chap02/GameLauncher.java

来自源目录。

编辑 2 “src”是您的 src 所在的目录。例如,我的代码位于 X:\JDK-Projects[Project-name]\src 下。您必须指定 src-Directory 的完整绝对路径或当前所在目录的相对路径。

【讨论】:

  • src 是指我的文件夹所在的驱动器吗?目前该文件夹在我的 c: 驱动器中,所以我会在命令提示符下这样做吗? ||| cd c:\chap02 ||| javac chap02*.java ||| java chap02.GameLauncher ||| ?
  • 如果所有文件都位于 C:\chap02\src 下,那么你应该 chdir 到 C:\chap02 并从那里执行: cd C:\chap02 && javac chap02.GameLauncher.java && java chap02.GameLauncher
猜你喜欢
  • 2015-09-29
  • 2016-05-28
  • 1970-01-01
  • 2020-08-20
  • 2019-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
相关资源
最近更新 更多