如何解决这个问题??
我安装的java如下:
安装程序为 jdk-6u4-windows-i586-p.exe
安装完后 C:\Program Files\Java有两个文件夹分别为 jdk1.6.0_04 和 jre1.6.0_04在命令提示行下 javac Test.java 没问题可是当 java Test 时出现 Exception in thread "main" java.lang.UnsupportedClassVersionError:Test(Unspported major.minor version 50.0)我知道这个是版本问题,可是不知道怎么解决这个问题,还有 java -version 得到的版本为 java version "1.4.2_03"
   javac -version 得到的版本是   javac 1.6.0_04
环境变量没有问题,因为我的Eclipse可以运行,就是命令提示行不能用,害怕会有副作用,所以急待解决.如何解决这个问题??

解决方案 »

  1.   

    你机器里有1.4jdk的,看看java_home,classpath有指向1.4的改过来
      

  2.   

    JAVA_HOME 为: C:\Program Files\Java\jdk1.6.0_04
    classpath 为: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
    path 为: %JAVA_HOME%\bin;
      

  3.   

    问题是Windows系统有自带的JAVA虚拟机.而且它应该也是在path的环境变量里的.
    没错的话LZ应该设置自己的path路径了,而且是放在系统环境变量path的后面,输java -version的时候它按path环境变量的先后顺序,所以用的是系统带的那个虚拟机.
    把D:\betyspace\jdk1.5.0_04\bin  放在path变量的最前面去.应该就可以了.
      

  4.   

    JAVA_HOME 为: C:\Program Files\Java\jdk1.6.0_04
    classpath 为: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
    path 为: %JAVA_HOME%\bin;
      

  5.   

    JAVA_HOME 为: C:\Program Files\Java\jdk1.6.0_04
    classpath 为: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
    path 为: %JAVA_HOME%\bin;
      

  6.   

    可能跟楼上说的一样  多版本一起 环境变量指向的是老版本的
    另外还有一点要提醒你  就是最好把JDK直接装在C盘根目录下...  
      

  7.   

    你在注册表中查找 javasoft  在hkey-local-machine下看看 有没有老版本 有就删除 再重起系统
      

  8.   

    JDK随便装哪个盘无所谓的.
    javac -version 得到的版本是   javac 1.6.0_04 
    这个是java编译器,用的是你JDK里的.
    java -version 得到的版本为 java version "1.4.2_03" 
    这个运行用的虚拟机是你操作系统的应该,反正不是JDK里的.运行下这个
    C:\Program Files\Java\jdk1.6.0_04\bin\java
    这是你JDK里的版本,应该是1.6的吧.path出问题,  是不是啊到底? 
      

  9.   

    不用设环境变量Eclipse都可以用.Eclipse里面会有设置的.怎么会有什么副作用.还有,感觉很奇怪,java和javac都是同一个目录%path%中的,为什么两个版本不一样呢?
      

  10.   

    最简单 也是最笨的 办法 把jdk1.4 和 1.6 卸载 只装1.6 重新配置环境变量 jdk最好不要装在C:\Program Files目录下,直接装在C:\下。
      

  11.   


    path里面就算有两个路径也只可能用一个吧,要么java和javac都用1.4的,要么两个都用1.6的,怎么可能一个1.4一个1.6的呢.
      

  12.   

    你的系统里面可能安装了版本为1.4.2_03的JRE,或许是其他应用程序自带的,清除了这个玩意就可以了。
      

  13.   

    你机器肯定有多个版本
    可能是oracle bea 等
      

  14.   

    设置一个就ok
    JAVA_HOME也要设置的·
      

  15.   

    关键是PATH变量的设置,注意一下PATH变量有两个设置的地方,即用户的环境变量和系统的环境变量两个,
    建议把用户的环境变量删掉,只用系统的环境变量,而且保证在PATH里面只有你的JDK1.6的路径而没有其它
    的JAVA路径,这样就肯定没问题了。
      

  16.   

    多个版本没什么不好,用到哪个的时候把哪个放系统环境变量path前面
      

  17.   

    这样的问题我也遇到过
    在 我的电脑》属性》高级》环境变量》设置classspath,path,和JAVA_HOME
    JAVA_HOME 为: C:\Program Files\Java\jdk1.6.0_04 
    classpath 为: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib 
    path 为: %JAVA_HOME%\bin;
    当然 classpath也可以设置为classpath=.
    指向任何路径。同时Exception in thread "main" java.lang.UnsupportedClassVersionError:Test(Unspported major.minor version 50.0) 
    这是找不到你的classpath路径导致的。我的程序也遇到过在javac可以运行,但在java后不能运行的情况。这是你的Test。class系统找不到,无法编译导致的
    在DOS下也可以用 set classpath= 设置
      

  18.   

    path的问题
    不信你可以在命令提示符下看看set path的输出
    你的1.6的jdk应该不在最前面
    建议你把%JAVA_HOOME%\bin;放到path的最前面
      

  19.   

    碰巧今天我也弄这个,说说我的。windows机器上已经有了1.6,今天又装了个1.4。
    重设置完JAVA_HOME后,我确定path和classpath已经是最前面,java -version仍然显示1.6。
    重启,仍然没用。等到下午,再试突然行了..java -version 1.4不知怎么回事:)