我在一台原来没有安装java任何版本的机器上安装jdk-1_5_0_04-nb-4_1-win.exe,然后我就配置path和classpath,配置完后,写一个test,能编译出类文件,但是执行时就出现如下问题。然后我装j2sdk-1_4_2-windows-i586.exe,再进行配置,编译执行都没问题。请问这是什么原因?不胜感激!!在http://forum.java.sun.com/thread.jspa?threadID=592000&tstart=60上有一个解答,但不胜明白。再次谢谢!!!!
Exception in thread "main" java.lang.UnsupportedClassVersionError: Test (Unsupported major.minor ver
sion 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

解决方案 »

  1.   

    大概是你用1.5编译的,但执行环境是1.4。虽然你没有装,但IE可能已经装了以前版本的JRE。
      

  2.   

    搞定了,谢谢这几位朋友。这种感觉很爽啊,遇到问题,大家互相提示一下,最后把问题解决。
      具体说一下问题所在吧,其它朋友遇到也做个参考。
      出现这种问题,首先就是http://forum.java.sun.com/thread.jspa?threadID=592000&tstart=60这个地方有解决办法。
      然后说说我的解决办法,出现这种情况的原因就是你用jdk15编译,确用低于15版本的jre来执行。所以方法就是用java -version看你实际的版本,或者去环境变量设置中的path中看一下(在dos下执行set path命令也可)其中是不是包含了jre\bin,而这个jre小于15版本。象我的就是E:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem。这是因为我装了oracle9i自带的。再次谢谢各位!!!!!