当我在Windows CMD中的同一文件夹时,为什么必须为我的.class文件指定Java类路径?

时间:2017-02-17 18:31:16

标签: java windows command-line

我有一个简单的" test.java"在一个文件夹中。我在该文件夹下包含" test.java"已经跑了" javac test.java"。 A" test.class"文件已创建。

但是当我尝试运行" javac test"时,我的环境总会返回

  

错误:无法找到或加载主类测试

除非我输入java -cp . test来让java执行test.class文件。

为什么?

感谢。

1 个答案:

答案 0 :(得分:1)

你自己回答了问题。

当你这样做时

java test

然后当前目录不在您的类路径中。

因此,当你使用-cp .(因为它表示:添加"。"又称"当前目录到当前类路径)时,它可以正常工作。

另一方面,默认情况下"。"应该在默认的类路径中(参见here)。

所以,有两种解释:

  • 如上所述,文件名周围有一些微妙的蠢事
  • 您的环境实际上设置了一个类路径ENV变量;那个人排除"。"