JDK 6 update 12 安装与配置问题

来源:百度知道 编辑:UC知道 时间:2024/07/06 14:04:47
JDK 安装在 G:\jdk1.6 下。
待编译的类文件(Hello.java)放在 G:\java 下。
===环境变量设置===
path值:G:\jdk1.6\bin
classpath值:.;G:\jdk1.6\lib;G:\jdk1.6\lib\dt.jar;G:\jdk1.6\lib\tools.jar;G:\java
问题一:在 C:\Documents and Settings\Administrator 下使用 javac Hello.java 命令:找不到文件,为什么?
问题二:在 G:\java 下使用 javac Hello.java ,编译成功,生成 G:\java\Hello.class 。这时再回到 C:\Documents and Settings\Administrator 下使用 java Hello 竟然可以运行!这又是为什么?
问题三:环境变量 classpath 究竟有什么用?到底能不能找到 G:\java 下的待编译文件?
问题四:难道编译 .java 一定要到 G:\java 目录下吗?如果是这样的话,那么配置 classpath 不就毫无意义了吗?
问题五:大家有配置成功的吗?
类似的问题,在百度知道里提问的太多了,但没有一个有效的、肯定的回答!
经测试,classpath 值
可以写成 G:\jdk1.6\bin\;G:\java
也可以写成 G:\jdk1.6\lib;G:\java ,不知道为什么!
其中,G:\java 是 .java 文件存放处,也就是编译后生 .class 的地方。java 命令也搜索这个“类库”。
看来,可以得出一条结论了:编译 .java 必须到文件所在目录下执行!
这跟某些议论有点相悖!

//我想问题2是最困惑的你吧~~~

问题一:在 C:\Documents and Settings\Administrator 下使用 javac Hello.java 命令:找不到文件,为什么?
//因为该目录下并无Hello.java

问题二:在 G:\java 下使用 javac Hello.java ,编译成功,生成 G:\java\Hello.class 。这时再回到 C:\Documents and Settings\Administrator 下使用 java Hello 竟然可以运行!这又是为什么?
//因为你在classpath的最后追加了G:\java 当你java Hello 时jdk会自动到classpath中的各个指定的文件目录中找Hello.class,所以当你在在 G:\java 下使用 javac Hello.java ,编译成功后无论到哪里运行java Hello都行,因为classpath的有效路径包括了G:\java,你如果去掉G:\java的话 就不能随意目录运行java Hello了,而必须到Hello.class目录下才行

问题三:环境变量 classpath 究竟有什么用?到底能不能找到 G:\java 下的待编译文件?
//当你运行一个class文件时,jdk就是根据这个去寻找该class文件的

问题四:难道编译 .java 一定要到 G:\java 目录下吗?如果是这样的话,那么配置 classpath 不就毫无意义了吗?
//是的.不指定classpath你让jdk上哪找class啊 呵呵

我机子的配置:

1.变量名=JAVA_HOME
变量值=C:\Program Files\Java\jdk1.6.0_12

2.变量名=PATH(已经有了的话在后面追加,记得前面加个';')
变量值=%JAVA_HOME%\bin