在Java中设置CLASSPATH的目的是什么?

问题描述 投票:0回答:2

我刚刚第一次在 Mac 上安装 Java (jdk 10.0.2 SE),我在 macOS 10.13.6 上。我刚刚在我的主目录中创建了一个基本的 Hello World 程序,编译并运行了它,但是我的 CLASSPATH 环境变量除了当前目录“。”之外没有任何设置。我的问题是我怎样才能编译和运行这个程序?它是如何从 Java 库中找到类的?我一直假设我需要设置这个变量,我把它设置到我在 Windows 中的 jdk 安装目录。

java macos classpath
2个回答
1
投票

我们为什么要设置课程路径?

CLASSPATH 是一个环境变量,包含 jar 文件的路径和各种包的路径。

亲吻您的问题的答案:

也许是成功执行的原因 你的代码是JVM检查当前目录 首先是对jar文件的感知,然后是 类路径。所以你的当前目录有那些文件。

哦,你可能想知道为什么我们要设置类路径。设置类路径会覆盖默认路径。


0
投票

让我们从sample code例子开始为什么我们必须在Java中设置类路径

如果你在图片中看到这个例子,示例程序将 List 转换为 Map

  1. 创建新的 ArrayList 和 Map,使用流将列表转换为地图。

ArrayList 和 Map 是 ADT(抽象数据类型),它来自 JDK 的一部分 我们正在使用它们。

如果仔细看,在我们的应用程序中我们导入了那些。 (这些类在 JDK 安装位置可用)

当您安装 JDK 时,在 JRE 下core classes files,这些所有核心 .class 文件将作为 rt.jar 提供。

我们编译实际代码的时候,依赖于(ArrayList类和Map类)。如果您没有告诉(通过设置路径)这些类在特定位置可用(C:\Program Files\Java\jdk1.8.0_361\jre\lib)。 JVM 无法读取这些依赖项。

这就是为什么它必须在 java 中设置类路径。

就这么简单:-)

© www.soinside.com 2019 - 2024. All rights reserved.