详解Javahome 与 Path 与ClassPath的含义 (转)
1、首先搞明白内部命令与外部命令的区别
在学习编程过程中经常遇到这样的概念:
内部命令
启动后是常住内存的。
用dos的时候内存都比较小,非常贵,而内部命令启动后是常住内存的。
外部命令
内部直接打就可以执行,外部得进到命令所在的目录或者设置环境变量才可以执行.
在java开发中设置的环境变量就解决这个问题的
2、环境变量的含义(注意:java环境变量设置不分大小写)
1、java_home(不分大小写),其实这是保存你的jdk安装的路径, (这主要是在路径设置时,使其更为直观和方便,使用%%可以实现对其的逆解析)
例如:D:\Java\jdk1.5.0_05
2、Path:外部命令搜索路径(它与ClassPath不同,主要提供的是系统命令执行工具的路径,即用于执行命令的.EXE程序,如java、javac,一般不轻易改变)
例如:D:\Java\jdk1.5.0_05\bin
例如:%JAVA_HOME%\BIN; 当你改变javahome时却不必影响到path你设java_home时不用经常改变path,java_home在path里只是一个相对路径
当你重装jdk的时候只需要修改一下 java_home 不必修改path
3、CLASSPATH:类资源位置搜索路径(这是命令执行工具要执行的类文件的地址,java会首先在当前目录Lib下寻找(一般开始就设定了的),如果未找到,则会到CLASSPATH指定的目录下进行寻找。由于是要执行的。class文件,所以其经常要变化,在使用Eclipse等IDE时,由系统自动的根据其位置进行配置。在非IDE方式下,则需要进行手动的配置。)
CLASSPATH: .;D:\jdk1.5.0\lib\tools.jar;D:\jdk1.5.0\jre\lib\rt.jar;
注意细节你的系统可能已经有其他的软件设置了path:
如果未配置path路径,指明java这个命令工具的所在地,则其将无法被找到。
此处可以采用
1、在“我的电脑”属性中配置系统环境变量
2、在控制台中临时配置两种方式(每次都要重新敲入)
一般来说,PATH变量的设置一般不会轻易变化,为了节省精力,一边采用在系统环境变量中配置,以避免重复敲入。
而CLASSPATH变化较大(资源文件的存放),一般会设置一个默认的系统变量,但是在执行命令工具之前,一般要用第2种方式对其进行重新的配置。
3、彻底理解 Javahome 与 Path 与ClassPath的含义
1、PATH,这个是给WINDOWS操作系统用的,告诉命令行里,执行的命令行工具在那里,比如java,javac这都是命令行工具,你在运行里随便敲一个命令,操作系统怎么就知道你这个命令对应的程序在什么地方,就是通过PATH知道的,你编写JAVA程序的时候,需要编译你的代码,执行编译后的代码,用JAVA和JAVAC这2个工具,那么就必须告诉操作系统,这2个工具放在什么地方。
2、JAVA_HOME,是告诉操作系统,JAVAC和JAVA的具体位置的,因为你安装JAVA的路径可能比较长,不方便在PATH里面写,所以就等于是声明一个简写。
例如:你的jdk安装路径为
D:\Java\jdk1.5.0_05
那么
java_home = D:\Java\jdk1.5.0_05;
path = :%java_home%\bin;
3、CLASSPATH,是给JAVAC和JAVA用的,告诉他们,你写的JAVA类,是放在什么地方的。