java无法使用-cp查找或加载主类。 package.class

时间:2014-09-28 17:36:02

标签: java

我似乎在执行java类时遇到问题;

我有一个静态方法main(String[] args){};

该类名为Test,位于包ptest

我将文件Test.class放在文件夹C:\Test\

然后,我在命令提示符中导航到此位置。

最后,在命令行中,我运行以下命令:“java -cp.ptest.Test”

返回:

Error: Could not find or load main class ptest.Test

此时我缺少什么?还有什么可能导致此错误?我做错了什么?!

2 个答案:

答案 0 :(得分:2)

创建新文件夹C:\Test\ptest,将Test.class移至c:\Test\ptest\Test.classcd\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