接触Java的第一天就配置这个环境变量,一直没有研究过。到底怎么回事
现在稍微了解了一点 就有了把它写出来 分享一下的冲动,于是就开始写了 呵呵
有不对的地方请大家指正:
1. path
当我们在dos下输入javac的时候 系统就要到path 配置的路径中去找 这个可执行文件在什么地方
path=jdk安装目录\bin;jdk安装目录\jre\bin;
这就是当初 我们刚用javac 首先要cd 进入javac.exe所在的目录 然后才能执行javac的原因
2. java_home
当我们配置了path 但是 如果我们改变了 jdk的目录 那么又要重新设置path (说实在的这种情况不多见)
另外一个原因是 我们安装的软件越来越多 愁人的oracle路径那么老长 造成path字符长度不够 无法安装oracle
所以 又来一种配置方式
建一个变量Java_home 值是jdk安装目录 path中 把这个Java_home变量配置上 就ok了
现在:path=%Java_home%\bin;%Java_home%\jre\bin; path是不是缩短了很多。
3.classpath 不用多说 这是class的路径配置
如不配置 jvm首先在当前目录查找 当前目录没有 对不起 报错。
配置了之后 任何目录都可以执行java
为什么那,首先Java运行后 jvm会首先在classpath中查找 找不到 就去path中查找
另外提一句 当配置classpath的时候 前面有个“.;d:\”这个表示 首先在当前目录找 如果没有在去d盘找
classpath=.;%Java_home%\lib\tools.jar;好了 就说这么多 本人文笔不是太好 有表达不清楚的地方请各位老大见谅 好了就说这么多
现在稍微了解了一点 就有了把它写出来 分享一下的冲动,于是就开始写了 呵呵
有不对的地方请大家指正:
1. path
当我们在dos下输入javac的时候 系统就要到path 配置的路径中去找 这个可执行文件在什么地方
path=jdk安装目录\bin;jdk安装目录\jre\bin;
这就是当初 我们刚用javac 首先要cd 进入javac.exe所在的目录 然后才能执行javac的原因
2. java_home
当我们配置了path 但是 如果我们改变了 jdk的目录 那么又要重新设置path (说实在的这种情况不多见)
另外一个原因是 我们安装的软件越来越多 愁人的oracle路径那么老长 造成path字符长度不够 无法安装oracle
所以 又来一种配置方式
建一个变量Java_home 值是jdk安装目录 path中 把这个Java_home变量配置上 就ok了
现在:path=%Java_home%\bin;%Java_home%\jre\bin; path是不是缩短了很多。
3.classpath 不用多说 这是class的路径配置
如不配置 jvm首先在当前目录查找 当前目录没有 对不起 报错。
配置了之后 任何目录都可以执行java
为什么那,首先Java运行后 jvm会首先在classpath中查找 找不到 就去path中查找
另外提一句 当配置classpath的时候 前面有个“.;d:\”这个表示 首先在当前目录找 如果没有在去d盘找
classpath=.;%Java_home%\lib\tools.jar;好了 就说这么多 本人文笔不是太好 有表达不清楚的地方请各位老大见谅 好了就说这么多
path=jdk安装目录\bin;jdk安装目录\jre\bin;
后面那个jre是不需要的。另外:%Java_home%\lib\tools.jar 既然你已经设置了JAVA_HOME,这个其实已经可以不需要加入CLASSPATH了。
我想问一下jdk\bin\java.exe和jdk\jre\bin\java.exe有什么区别吗?为什么要用两个那?只用jre里的java.exe不就好了么 表示不理解。
第二个问题:为什么不需要加入classpath那
javahome只是一个变量啊,是给path服务的啊 和classpath没有关系的啊。
path中配置的是可执行程序javac.exe 和java.exe 的路径
classpath配置的是所用class的路径啊 不配置去哪里找类的位置那?
可以暂时性的配置路径-------->只在当前这个dos窗口有效。
所以关闭dos窗口后 path classpath是不变的
可已验证下 计算机 -- 属性 -- 高级系统设置-- 环境变量 当然还是原来的
用set path命令设置 路径 比如设置javac.exe启动路径 c:\> set path=jdk安装目录\bin;
set classpath命令设置 c:\>set classpath=D:\;
好了现在运行吧 cd java源文件位置\> javac test.java 编译成功
任意位置运行 class类 随意位置\>java test 运行成功
编译完成后 当然可以更换用那一个 环境运行了
c:\>set path=jdk1.5安装目录\jre\bin;
c:\>set path=jdk1.6安装目录\jre\bin;
c:\>set path=单独的jre5安装目录\bin;
c:\>set path=jre6安装目录\bin;
随便的换 ^-^
先了解到这么多。继续泡论坛 学习
欢迎大家继续讨论最后留下一个疑问
c:\User\用户名> set path
和
c:\>set path
设置的都是系统path变量 有什么不同吗?
如果此时我的用户变量中也有一个path 那么 上面两种情况又有什么不同那?
做为我的扩展了解 希望大家 指点....
期待答案中........>_<
PATH=系统变量PATH;用户变量PATH