我无法让我的程序从命令行运行。我从 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
如何正确使用类路径运行程序?
我无法让我的程序从命令行运行。我从 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
如何正确使用类路径运行程序?
调用java proj2.myClass
尝试从包proj2中的myClass类(按照约定名称应为大写)运行 main 方法。
如果myClass声明为在类路径条目的子文件夹proj2package 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 和类子树分开。