没有设置CLASSPATH变量为什么程序aslo可以运行

时间:2014-01-23 12:57:35

标签: java classpath

我在我的电脑上安装了JDK7。我只是指定了这样的路径:

enter image description here

我没有设置CLASSPATH。

我写了一个测试程序,程序就是这样:

import java.io.File;

public class Hello_1 {
    public static void main(String[] args) {
        System.out.println(File.separator);
    }
}

我遵守了它并像那样运行:

enter image description here

根据结果,我们可以看到它没有任何错误。我很困惑。根据ORACLE DOC,我没有设置CLASSPATH,它说:

  

类路径的默认值是“。”,表示只有   搜索当前目录。指定CLASSPATH   变量或-cp命令行开关会覆盖此值。

如果我没有设置CLASSPATH变量,默认的类路径是“。”,所以当我编译Hello_1.java时,它只搜索当前目录中的java.io.File,没有关于java.io.File的内容,所以它会抛出异常。但为什么它运作良好?

2 个答案:

答案 0 :(得分:2)

类路径用于搜索您自己的类,但内置类库可自动使用,无需添加到类路径中。因此,Hello_1位于默认类路径(当前目录)上,java.io.File位于内置类库中。

答案 1 :(得分:0)

您已将路径放入PATH变量中的JDK bin。所以现在你的操作系统知道java / javac作为命令,因此你可以运行你的代码。如果您的源代码或库位于当前目录之外的其他目录中,则类路径会出现。