在目录层次结构中找不到Java类

时间:2013-08-16 13:54:21

标签: java

运行java程序时出现以下错误:

Error: Could not find or load main class Gen

我有以下目录结构:

  • 我运行程序的curent目录包含目录层次结构: classes / gensig / gen和classes / gensig / util。在这个目录中,我有我需要的类。
  • 我想从classes / gensig / gen运行类Gen。在classes / gensig / util中我有一些我在Gen类中调用的类。
  • 我运行这样的程序,但是我得到了我提到的错误:

java -cp classes/gensig/gen/*.class:classes/gensig/util/*.class Gen

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

类路径必须包含构成包树根的目录或jar文件(即构成默认包的目录,其中包含顶级包的目录)。

在您的情况下,该类似乎被称为Gen,并且位于包gensig.gensig中。因此它的名字是gensig.gensig.Gen。包树的根目录是classes。所以命令应该是:

java -cp classes gensig.gensig.Gen

编辑:鉴于您的评论,您的课程实际上在gen包中。因此,包树的根是classes/gensig。所以命令应该是

java -cp classes/gensig gen.Gen