我无法从命令行运行程序。我正在从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
如何正确使用类路径运行程序?
答案 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和类子树分开。