我似乎在执行java类时遇到问题;
我有一个静态方法main(String[] args){};
该类名为Test
,位于包ptest
我将文件Test.class
放在文件夹C:\Test\
然后,我在命令提示符中导航到此位置。
最后,在命令行中,我运行以下命令:“java -cp.ptest.Test”
返回:
Error: Could not find or load main class ptest.Test
此时我缺少什么?还有什么可能导致此错误?我做错了什么?!
答案 0 :(得分:2)
创建新文件夹C:\Test\ptest
,将Test.class
移至c:\Test\ptest\Test.class
。 cd\Test
,然后是java -cp . ptest.Test
包结构对应于输出目录结构。
来自Managing Source and Class Files(The Java Tutorials),
将类,接口,枚举或注释类型的源代码放在文本文件中,该文件的名称是类型的简单名称,扩展名为.java。例如:
//in the Rectangle.java file package graphics; public class Rectangle { ... }
然后,将源文件放在名称反映该类型所属包的名称的目录中:
..... \图形\ Rectangle.java
包成员的限定名称和文件的路径名是并行的,假设Microsoft Windows文件名分隔符反斜杠(对于UNIX,使用正斜杠)。
class name – graphics.Rectangle pathname to file – graphics\Rectangle.java
答案 1 :(得分:1)
包映射到文件系统中的文件夹。
因此,ptest.Test
会在您的类路径中的任何位置映射到ptest/Test.class
。