Java ClassPath环境变量详解

使用1.5以上版本的JDK,完全可以不用设置ClassPath环境变量,即使不设置ClassPath环境变量,也完全可以正常编译和运行Java程序。

ClassPath环境变量的作用:当使用"java Java类名"来运行Java程序的时候,我们的想法是JRE到当前路径下搜索Java类,但是1.4以前版本的JDK没有设计这个功能,这意味着即使当前路径已经包含了HelloWorld.class,并在当前路径下执行"java HelloWorld",系统一样提示找不到HelloWorld类。如果使用1.4以前版本的JDK,则需要在CLASSPATH环境变量中添加一点(.),用以告诉JRE需要在当前路径下搜索Java类。

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

因此,如果使用1.4以前版本的JDK来编译和运行Java程序,常常需要设置CLASSPAT环境变量的值为

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
其中%JAVA_HOME%代表JDK的安装目录。

后来的JRE会自动搜索当前路径下的类文件,而且使用Java的编译和运行工具时,系统可以自动加载dt.jar和tools.jar文件中的Java类,因此不再需要设置CLASSPATH环境变量。

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

如果想在运行Java程序时临时指定JRE搜索Java类的路径,则可以使用-classpath选项,即按如下格式来运行Java命令:

java -classpath dir1;dir2;dir3;...;dirN Java类
-classpath选项的值可以是一系列的路径,多个路径之间在windows平台上以分号(;)隔开,在Linux平台上则以冒号(:)隔开。

如果在运行Java程序时指定了-classpath选项的值,JRE将严格按-classpath选项所指定的路径来搜索Java类,既不会在当前路径下搜索Java类,CLASSPAH环境变量所制定的搜索路径也不再有效。如果想使CLASSPATH环境变量指定的搜索路径有效,而且还会在当前路径下搜索Java类,则可以按如下格式来运行Java程序:

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



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值