0

我无法让我的程序从命令行运行。我从 src 文件夹执行它,文件存储在包 proj2 中。

所以当我跑步时 java -cp "proj2/*;proj2/antlr-3.5.jar" proj2.myClass

我收到一个"Error: Could not find or load main class"

如果我删除类路径并只写 java proj2.myClass

我明白了java.lang.NoClassDefFoundError

如何正确使用类路径运行程序?

4

1 回答 1

0

调用java proj2.myClass尝试从包proj2中的myClass类(按照约定名称应为大写)运行 main 方法。

如果myClass声明为在类路径条目的子文件夹proj2package proj2;中必须有一个文件myClass.class,在给定的示例中它应该是 ,因此可以从 搜索。java -cp ".;proj2/antlr-3.5.jar" proj2.myClassproj2.myClass.

如果你不需要 antlr-3.5 你可以省略..

如果你的类没有声明包,它必须是java -cp "proj2;proj2/antlr-3.5.jar" myClass.

您还应该避免将类文件和 jar 文件混合在同一个文件夹中或通过相同的类路径条目访问,但将 jar 和类子树分开。

于 2013-09-27T19:36:03.560 回答