[Java] CLASSPATH环境变量的设置是否是必须的

以前学习过Java 的读者可能对 CLASSPATH 环境变量不陌生,几乎每一本介绍Java 入门的图书里
都会介绍 CLASSPATH 环境变量的设置,但对于 CLASSPATH 环境变量的作用则常常语焉不详。


实际上,如果使用1.5以上版本的JDK , 完全可以不用设置CLASSPATH 环境变量


那么CLASSPATH 环境变量的作用是什么呢?

当使用"java Java 类名"命令来运行Java 程序时,
JRE 到哪里去搜索Java 类呢?可能有读者会回答, 在当前路径下搜索啊。这个回答很聪明,但1. 4 以前
版本的JDK 都没有设计这个功能,这意味着即使当前路径己经包含了 HelloWorld.class , 并在当前路径
下执行"java Hello World ",系统将一样提示找不到HelloWorld 类。


如果使用1.4 以前版本的JDK,则需要在CLASSPATH 环境变量中添加点 (.) ,用以告诉JRE 需要
在当前路径下搜索Java 类。


除此之外, 编译和运行Java 程序还需要JDK 的lib 路径下 dt.jar 和 tools.jar 文件中的 Java 类, 因此
还需要把这两个文件添加到CLASSPATH 环境变量里。

提示:JDK9 的 lib 目录已经不再包含 dt.jar 和 tools .jar 文件。

因此, 如果使用1.4 以前版本的JDK 来编译和运行Java 程序,常常需要设置 CLASSPATH 环境变
量的值为.;%JAVA HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (其中%JAVA HOME%代表JDK 的安
装目录) 。

提示:只有使用早期版本的 JDK 时, 才需要设置 CLASSPATH 环境变量。

 

当然,即使使用JDK l. 5 以上版本的JDK ,也可以设置CLASSPATH 环境变量(通常用于加载第三
方类库) , 一旦设置了该环境变量, JRE 将会按该环境变量指定的路径来搜索Java 类。这意味着如果
CLASSPATH 环境变量中不包括点(.) ,也就是没有包含当前路径, JRE 不会在当前路径下搜索Java 类。

如果想在运行Java 程序时临时指定JRE 搜索Java 类的路径,则可以使用classpath 选项(或用-cp
选项, -cp 是简写,作用完全相同),即按如下格式来运行Java 命令:

java - classpath dirl;dir2;dir3 .. .; dirN Java 类

-classpath 选项的值可以是一系列的路径,多个路径之间在Windows 平台上以分号(;) 隔开,在
Linux 平台上则以冒号(:) 隔开。

如果在运行Java 程序时指定了-classpath 选项的值, JRE 将严格按-classpath 选项所指定的路径来搜
索Java 类,即不会在当前路径下搜索Java 类, CLASSPATH 环境变量所指定的搜索路径也不再有效。

如果想使CLASSPATH 环境变量指定的搜索路径有效,而且还会在当前路径下搜索Java 类,则可
以按如下格式来运行Java 程序:
java - classpath %CLASSPATH % ; .; dirl ; dir2 ; dir3.. .;dirN Java 类

上面命令通过%CLASSPATH%来引用CLASSPATH 环境变量的值,并在-classpath 选项的值里添加
了一个点,强制JRE在当前路径下搜索Java 类。

 

posted on   张缤分  阅读(1127)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2019-01-10 【资料收集】AutomationGuru

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示