我在命令行中输入Java -version,得到的结果是java version "1.6.0_02",请问,这个版本信息是从哪里读出来的?我在系统环境变量中设置的是C:\Program Files\Java\jdk1.5.0_11,不是这个版本呀?

解决方案 »

  1.   

    我不太清楚你的是怎么回事我的实验结果是这样的C:\Documents and Settings\Administrator>java -version
    java version "1.4.2_03"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
    Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
    这个应该是IE里面带的C:\Documents and Settings\Administrator>javac
    'javac' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    C:\Documents and Settings\Administrator>set path=C:\jdk1.5.0_04\bin
    设定环境变量C:\Documents and Settings\Administrator>javac
    用法:javac <选项> <源文件>
    其中,可能的选项包括:
      -g                         生成所有调试信息
      -g:none                    不生成任何调试信息
      -g:{lines,vars,source}     只生成某些调试信息
      -nowarn                    不生成任何警告
      -verbose                   输出有关编译器正在执行的操作的消息
      -deprecation               输出使用已过时的 API 的源位置
      -classpath <路径>            指定查找用户类文件的位置
      -cp <路径>                   指定查找用户类文件的位置
      -sourcepath <路径>           指定查找输入源文件的位置
      -bootclasspath <路径>        覆盖引导类文件的位置
      -extdirs <目录>              覆盖安装的扩展目录的位置
      -endorseddirs <目录>         覆盖签名的标准路径的位置
      -d <目录>                    指定存放生成的类文件的位置
      -encoding <编码>             指定源文件使用的字符编码
      -source <版本>               提供与指定版本的源兼容性
      -target <版本>               生成特定 VM 版本的类文件
      -version                   版本信息
      -help                      输出标准选项的提要
      -X                         输出非标准选项的提要
      -J<标志>                     直接将 <标志> 传递给运行时系统C:\Documents and Settings\Administrator>java -version
    java version "1.5.0_04"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
    Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)
    我的jdk是1.5的显示正常
      

  2.   

    Path变量我已经在环境变量里面设置过了啊
    JAVA_HOME = C:\Program Files\Java\jdk1.5.0_11
    PATH = %JAVA_HOME%\bin
    CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\libJAVAC运行后也正确啊:
    C:\Documents and Settings\TerryWu>javac
    用法:javac <选项> <源文件>
    其中,可能的选项包括:
      -g                         生成所有调试信息
      -g:none                    不生成任何调试信息
      -g:{lines,vars,source}     只生成某些调试信息
      -nowarn                    不生成任何警告
      -verbose                   输出有关编译器正在执行的操作的消息
      -deprecation               输出使用已过时的 API 的源位置
      -classpath <路径>            指定查找用户类文件和注释处理程序的位置
      -cp <路径>                   指定查找用户类文件和注释处理程序的位置
      -sourcepath <路径>           指定查找输入源文件的位置
      -bootclasspath <路径>        覆盖引导类文件的位置
      -extdirs <目录>              覆盖安装的扩展目录的位置
      -endorseddirs <目录>         覆盖签名的标准路径的位置
      -proc:{none,only}          控制是否执行注释处理和/或编译。
      -processor <class1>[,<class2>,<class3>...]要运行的注释处理程序的名称;绕过默认
    的搜索进程
      -processorpath <路径>        指定查找注释处理程序的位置
      -d <目录>                    指定存放生成的类文件的位置
      -s <目录>                    指定存放生成的源文件的位置
      -implicit:{none,class}     指定是否为隐式引用文件生成类文件
      -encoding <编码>             指定源文件使用的字符编码
      -source <版本>               提供与指定版本的源兼容性
      -target <版本>               生成特定 VM 版本的类文件
      -version                   版本信息
      -help                      输出标准选项的提要
      -Akey[=value]              传递给注释处理程序的选项
      -X                         输出非标准选项的提要
      -J<标志>                     直接将 <标志> 传递给运行时系统
      

  3.   

    我无论怎么用Java -version都是IE的那个版本,path里面已经显示了C:\Program Files\Java\jdk1.5.0_11 但是version信息里面还是显示1.6.0_02
      

  4.   

    在运行了Set path= C:\Program Files\Java\jdk1.5.0_11\bin 之后java -version信息正确显示1.5.0_11了,问题又来了,当我重新打开命令行的时候又恢复到1.6.0_02,难道每次我都需要在命令行里运行这个吗?哪位高手出来指点一下。
      

  5.   

    你的CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib好象没有设对啊!
    应该这样吧:CLASSPATH = .;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
      

  6.   

    set path只是对当前打开的窗口生效,关闭后就不自动取消
    要想永久生效需要这样操作我的电脑(右键)-->高级-->环境变量-->系统变量中找到Path-->加入你的jdk路径
    前面要加 ','逗号,还有其他的环境变量,最好不要改变
      

  7.   

    C:\Documents and Settings\TerryWu>set path
    Path=C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C
    :\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;D:\P
    rogram Files\Rational\common;C:\Program Files\Microsoft SQL Server\80\Tools\BINN
    ;C:\Program Files\Intel\Wireless\Bin\;,C:\Program Files\Java\jdk1.5.0_11\bin
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH系统变量中已经改好了,如上,但是每次关掉命令行,重新打开的时候还是会还原成1.6.0_02,难道一定要删除1.6.0_02才行?
      

  8.   

    找到问题的关键了,我把%JAVA_HOME%\bin;放到的Path的最前面,然后问题就解决了。之前放在最后面,前面有很多其他的变量,所以一直不能用1.5.0_11的jdk,然后我找了一下在C:\WINDOWS\system32路径下,也有java.exe,javaw.exe.javaws.exe等文件,不知怎么会在这里,是不是可以删掉啊?