Java类路径问题

时间:2013-09-27 19:04:37

标签: compiler-errors classpath runtime-error antlr

我无法从命令行运行程序。我正在从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

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

1 个答案:

答案 0 :(得分:0)

调用java proj2.myClass尝试在 proj2 包中运行类 myClass 的主方法(按惯例名称应为大写)。

如果使用package proj2;声明 myClass ,则必须在类路径的子文件夹 proj2 中包含 myClass.class 文件在给定示例中,条目应为java -cp ".;proj2/antlr-3.5.jar" proj2.myClass,因此可以在proj2.myClass中搜索.

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

如果您的班级没有宣布包裹,则必须是java -cp "proj2;proj2/antlr-3.5.jar" myClass

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