java如何找到java标准库或我购买的库的.class文件

java如何找到java标准库或我购买的库的.class文件,java,classpath,Java,Classpath,我遇到了一个问题: 第一个答案解释了什么是类路径以及如何设置它: ……首先,让我们假设MyClass是您构建的一部分 它位于项目中名为output的目录中。 .class文件将位于 output/org/javaguy/coolframework/MyClass.class(以及其他 文件(在该包中)。为了访问该文件,您的路径 只需要包含文件夹“output”,而不是整个包 结构,因为导入语句提供了所有这些信息 到虚拟机 现在让我们假设您将CoolFramework捆绑到一个.jar文件中,

我遇到了一个问题:

第一个答案解释了什么是类路径以及如何设置它:

……首先,让我们假设MyClass是您构建的一部分 它位于项目中名为output的目录中。 .class文件将位于 output/org/javaguy/coolframework/MyClass.class(以及其他 文件(在该包中)。为了访问该文件,您的路径 只需要包含文件夹“output”,而不是整个包 结构,因为导入语句提供了所有这些信息 到虚拟机

现在让我们假设您将CoolFramework捆绑到一个.jar文件中, 并将该CoolFramework.jar放入项目的lib目录中。 现在需要将lib/CoolFramework.jar放入类路径中。 VM将在jar文件中查找org/javaguy/coolframework 分开,找到你的班级

因此,类路径包含:

JAR文件,以及到包层次结构顶部的路径


但是如果java只在CLASSPATH变量指定的目录中查找类,那么java如何从属于JRE的库中查找类?

“java如何从属于JRE的库中查找类”-您基本上自己回答了这个问题:它们是JRE的一部分,也就是说,它们会自动添加到类路径中。好的,当我编辑类路径变量时,系统会自动向jre库的类添加一个条目,对吗?好的,当定义类路径时,你会告诉类加载器除了jre已知的类之外,还应该在哪里找到应该加载的类。因为您可以使用多个类加载器,所以您可以有多个类路径,但除非您真的需要,否则我不想讨论这个概念。只需将类路径设置为“任何其他类的位置”。