前言
本篇文章介绍classpath环境变量的配置和一个环境变量配置的技巧:临时配置path环境变量。
正文
classpath环境变量配置
- 在上完了"Hello World"这堂课后,二胖模仿Hello World程序写了一个类似的程序Demo.java(位于H:ywwyyehn目录下),内容如下图:
class Demo {
public static void main(String[] args) {
System.out.println("Hello D盘!");
}
}
- 二胖把老师的示例程序"Hello World"下载下来后放到了D:java目录下,内容如下图:
class Demo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
-
看着这两个同名的java文件,二胖心里犯起了嘀咕:假设我现在在D:java目录下,但是我却想运行H:ywwyyehn目录下的demo.java,这该怎么办呢?
-
二胖遇到问题首先想先自己试着解决,所以他在电脑上google了一番,发现了classpath这个环境变量,二胖打起了算盘:classpath,看这名的意思是不是指class文件所在的目录呢,那要是真是这个意思的话,那我是不是就可以把"H:ywwyyehn"配置到classpath中呢。说干就干,二胖决定验证自己的这一猜想。
-
二胖参照path环境变量的配置方式依据上面所想配置好了classpath环境变量。
-
经过验证,事实正如二胖猜想,即使cmd当前路径在D:java下,执行的却是H:ywwyyehn目录下的demo.java。二胖心里高兴极了。
-
但很快二胖就发现了一个问题,放在其他地方的java文件无法执行了,会报ClassNotFoundException,这下二胖懵了:咋回事,我是在文件所在路径下执行的啊,类名也没写错。二胖左思右想也没想出是怎么回事,只好再次求助于Bill。
-
Bill很快就明白了问题所在,他笑着说:"二胖,你既然已经设置了classpath,JVM在执行class文件时当然就是去你指定的位置去找啦,你看看你那位置上有你要执行的文件吗?"
-
二胖反应过来,原来是这个原因,看来这个classpath也不能随便配置啊!
临时配置path环境变量
-
现考虑如下情景:Java程序员小杨外出旅游,因为想放松放松所以未带电脑,但公司临时却有加班工作,小杨不得已只好借同行的小况笔记本电脑进行java开发,小况不是程序员,所以电脑里也没有安装jdk等等,幸好小杨的U盘里有,但小杨又不希望通过高级系统设置的方式修改小况电脑里的环境变量(因为此种方式是永久的),那怎么办呢?
-
这时小王就可以插入U盘并在小况的电脑上进行临时的path环境变量配置。当拔取U盘后,小况的电脑不会有任何改变。
-
如何配置:使用set path命令即可,见下图:
- 需要注意的是此种配置方式仅在当前cmd窗口下有效。