我在理解Java解释器和Java编译器如何从环境变量中搜索所需的所有必需jar文件时感到困惑。因为我只为JDK目录设置了set path变量,但没有设置任何变量来搜索jvm所需的任何类库。它如何搜索那些重要的jar文件?
您正在谈论哪个jar文件? Java已经知道它“拥有”的jar文件(例如rt.jar)-您不必明确地告诉他们。这就是bootclasspath-您可以覆盖它,但是通常您不想这么做。
为了更好地理解JVM如何查找和加载类,请阅读How Classes are Found。>>
CLASSPATH是一个环境变量,类似于路径文件(可帮助Windows查找可执行文件)。它列出了JVM查找类的所有位置的集合。您也可以在启动jvm和java编译器时在命令行上提供类路径。