我在我的电脑上安装了JDK7。我只是指定了这样的路径:
我没有设置CLASSPATH。
我写了一个测试程序,程序就是这样:
import java.io.File;
public class Hello_1 {
public static void main(String[] args) {
System.out.println(File.separator);
}
}
我遵守了它并像那样运行:
根据结果,我们可以看到它没有任何错误。我很困惑。根据ORACLE DOC,我没有设置CLASSPATH,它说:
类路径的默认值是“。”,表示只有 搜索当前目录。指定CLASSPATH 变量或-cp命令行开关会覆盖此值。
如果我没有设置CLASSPATH变量,默认的类路径是“。”,所以当我编译Hello_1.java时,它只搜索当前目录中的java.io.File,没有关于java.io.File的内容,所以它会抛出异常。但为什么它运作良好?
答案 0 :(得分:2)
类路径用于搜索您自己的类,但内置类库可自动使用,无需添加到类路径中。因此,Hello_1
位于默认类路径(当前目录)上,java.io.File
位于内置类库中。
答案 1 :(得分:0)
您已将路径放入PATH变量中的JDK bin。所以现在你的操作系统知道java / javac作为命令,因此你可以运行你的代码。如果您的源代码或库位于当前目录之外的其他目录中,则类路径会出现。