想知道未指定classpath选项时默认的类路径是什么?
答案 0 :(得分:36)
当前工作目录(.
)。
来自The Java™ tutorials: PATH and CLASSPATH:
类路径的默认值为“。”,表示仅搜索当前目录。指定CLASSPATH变量或-cp命令行开关会覆盖此值。
不,类路径中没有条目是“递归的”。您必须明确列出每个子目录(或jar)。但是,如果您有一个代表类Example.class
的{{1}}文件,并且使用了默认的类路径,那么此文件应该位于pkg.subpkg.Example
。
如果./pkg/subpkg/Example.class
尝试解析java
,则会查看每个类路径条目的pkg.subpkg.Example
。即您不必在类路径中列出/pkg/subpkg
,.
和pkg
,只需列出pkg/subpkg
。
答案 1 :(得分:16)
我认为人们正在逐字逐句地回答这个人的问题。是的,CLASSPATH默认为“。”,但是即使您没有设置CLASSPATH或使用-classpath命令行参数,也有很多类会自动加载。
以下是了解此过程的好地方:
http://docs.oracle.com/javase/8/docs/technotes/tools/findingclasses.html
答案 2 :(得分:6)
这是当前的工作目录“。”
你也可以自己检查一下
class CheckClassPath{
public static void main(String args[]){
System.out.println(System.getProperty("java.class.path"));
}
}
答案 3 :(得分:3)
默认类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行选项会覆盖该缺省值,因此如果要在搜索路径中包含当前目录,则必须包含“。”。在新设置中。 official manual