1、首先搞明白内部命令与外部命令的区别
在学习编程过程中经常遇到这样的概念:
内部命令
启动后是常住内存的。
用dos的时候内存都比较小,非常贵,而内部命令启动后是常住内存的。
外部命令
内部直接打就可以执行,外部得进到命令所在的目录或者设置环境变量才可以执行.
在java开发中设置的环境变量就解决这个问题的
2、环境变量的含义(注意:java环境变量设置不分大小写)
1、java_home(不分大小写),其实这是保存你的jdk安装的路径,
例如:D:\Java\jdk1.5.0_05
2、Path:外部命令搜索路径
例如:D:\Java\jdk1.5.0_05\bin
例如:%JAVA_HOME%\BIN; 当你改变javahome时却不必影响到path你设java_home时不用经常改变path,java_home在path里只是一个相对路径
当你重装jdk的时候只需要修改一下 java_home 不必修改path
3、CLASSPATH:类资源位置搜索路径
CLASSPATH: .;D:\jdk1.5.0\lib\tools.jar;D:\jdk1.5.0\jre\lib\rt.jar;
注意细节你的系统可能已经有其他的软件设置了path:
程序代码
.;D:\jdk1.5.0\lib\tools.jar;D:\jdk1.5.0\jre\lib\rt.jar;
3、彻底理解 Javahome 与 Path 与ClassPath的含义
1、PATH,这个是给WINDOWS操作系统用的,告诉命令行里,执行的命令行工具在那里,比如java,javac这都是命令行工具,你在运行里随便敲一个命令,操作系统怎么就知道你这个命令对应的程序在什么地方,就是通过PATH知道的,你编写JAVA程序的时候,需要编译你的代码,执行编译后的代码,用JAVA和JAVAC这2个工具,那么就必须告诉操作系统,这2个工具放在什么地方。
3、彻底理解 Javahome 与 Path 与ClassPath的含义
1、PATH,这个是给WINDOWS操作系统用的,告诉命令行里,执行的命令行工具在那里,比如java,javac这都是命令行工具,你在运行里随便敲一个命令,操作系统怎么就知道你这个命令对应的程序在什么地方,就是通过PATH知道的,你编写JAVA程序的时候,需要编译你的代码,执行编译后的代码,用JAVA和JAVAC这2个工具,那么就必须告诉操作系统,这2个工具放在什么地方。
{WINDOWS提供了一个PATH环境变量,他的作用就是现在这个变量的值路径中去找,如果找到了要运行的EXE就运行,否则失败。如果我们把JAVA里的bin目录这个路径赋给path那么下次我在运行java这个命令的时候,即便是直接输入DOS也能够在path变量中找到JAVA的bin目录下的java指令了。 }
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类,是放在什么地方的。
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类,是放在什么地方的。
——“假设我们要运行一个JAVA程序(hello.java)就要先把它的class文件移动到JAVA里的bin目录下”,为什么要这样做呢?因为我们在用到java hello.class这条指令的时候,DOS不知道hello.class这个文件在哪里,他就先到当前目录中去找,如果找到就运行,否则失败。当然,如果说hello.java在D盘根目录下,你也可以用java D:\hello.class这条指令来运行,但是每次这样做也确实够麻烦。WINDOWS就提供了这样一个环境变量——classpath,如果没有就应该新建一个。我们把D:\这个路径赋值给classpath,那么下次在运行java hello.java的时候就先在当前目录中到,如果找到就运行,如果找不到就在classpath的值路径下去找,找到就运行,找不到就失败。