public class Welcome
{
public static void main(String[] args)
{
System.out.print("welcome you");
         }  
}上述代码在jdk1.4.2下没问题,可是最近下了Download JDK 5.0 Update 6,其文件是jdk-1_5_0_06-windows-i586-p.exe 
结果再执行就抱错了,如下:
C:\Java1\Code>javac Welcome.javaC:\Java1\Code>java Welcome
Exception in thread "main" java.lang.UnsupportedClassVersionError: Welcome (Unsu
pported major.minor version 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.   

    肯定是版本的问题啊原因是编译java文件的javac.exe与解释运行class文件的java.exe版本不一样在命令行下面
    分别运行javac -version 和 java -version 看看版本是不是一样
      

  2.   

    恩,按照interpb(曾曾胡)所说查询如下:
    C:\Java1\Code>javac -version
    javac 1.5.0_06
    javac: 无源文件
    C:\Java1\Code>java -version
    java version "1.3.1_01"果然不一样,但是问题是我这台机器上从来没有装过jdk1.4.2阿,是直接装的jdk-1_5_0_06-windows-i586-p.exe ,javac和java执行文件都是安装后就有的,我自己没有动过的阿,怎么会版本不一样呢?
    请教
      

  3.   

    应该是Oracle的JDK看一下你的环境变量,是不是有Oracle的JDK在里面